Код поиска JNDI, который работает на сервере приложений J2EE - PullRequest
0 голосов
/ 17 июня 2019

Моя основная цель - иметь общий код поиска JNDI, который работает на серверах приложений J2EE.Мое веб-приложение в идеале не должно требовать добавления записи в web.xml для работы:

Мое веб-приложение использует поиск JNDI для:

a) Получение javax.sql.Datasource.б) Пример конфигурации приложения - каталог журнала приложения.

Apache Tomcat - сервер разработки.Я не добавил в мой web.xml.Предполагается, что веб-приложение может быть развернуто без редакции web.xml (для добавления сопоставления ресурса с настроенным ресурсом JNDI)

Следующий фрагмент кода работает для получения как источника данных, так и среды jndi с Tomcat:

Context initContext = new InitialContext();
Context envContext  = (Context)initContext.lookup("java:/comp/env");
DataSource ds = (DataSource)envContext.lookup("jdbc/myoracle");

Для переменной среды:

String logDirPath = (String) initContext.lookup ("java: comp / env / APP_LOG_DIR");

Как упоминалось вышеКод работает в tomcat.Но это не работает на других серверах приложений, таких как IBM Websphere Application 9, Weblogic, glassfish 5.0, JBoss 7 (EAP-7.2.0).

В двух словах, префикс поиска "java: comp / env /" не работает.

Любая помощь по этому вопросу высоко ценится.

...