In Tomcat können Sie Ressourcen (JDBC-Verbindung, Javax-Mail-Sitzungen usw.) in context.xml angeben, sie in web.xml referenzieren und sie dann in Java wie folgt laden:
Context ctx = new InitialContext();
DataSource dataSource = (DataSource)ctx.lookup("java:/comp/env/jdbc/myDB");
Mich interessiert, welcher magische Voo-Doo hier passiert! Ich hätte erwartet, dass der InitialContext
-Konstruktor mit einer Hashtable oder einem anderen Objekt injiziert werden muss, um ihn damit mit allem zu füllen, was in context.xml und web.xml definiert ist. Aber es handelt sich um einen Konstruktor ohne Argumente!!!
Also frage ich: Was macht Tomcat, um das "fehlende Glied" zwischen den 2 XML-Dateien und dem Konstruktor ohne Argumente des InitialContext
zu füllen, so dass der DataSource
magischerweise über die ctx
-Instanz verfügbar ist? Danke im Voraus!