В Tomcat, вы можете указать ресурсы (JDBC соединения, Javax почты сессий и т.д.) в context.xml, ссылаться на них в web.xml, а затем загрузить их в Java, как так:Как Tomcat вводит компонент JNDI-локальный контекст?
Context ctx = new InitialContext();
DataSource dataSource = (DataSource)ctx.lookup("java:/comp/env/jdbc/myDB");
Я м интересуется тем, что происходит в волшебном ву-ду! Я бы ожидал, что нужно вставить конструктор InitialContext
с помощью хеш-таблицы или какого-либо другого объекта, тем самым введя его все, что определено в context.xml и web.xml. Но это конструктор no-arg !!!
Так я спрашиваю: что Tomcat сделать, чтобы заполнить «недостающее звено» между 2 XML-файлами и InitialContext
конструктора без аргументов, так что DataSource
магически доступен из экземпляра ctx
? Заранее спасибо!
Это может помочь вам понять магию вуду за тем, как работает конструктор InitialContext без каких-либо параметров: http://www.tugay.biz/2016/07/extending-hello-jndi-example.html –