跨J2EE应用服务器运行的JNDI查找代码

时间:2019-06-17 11:19:18

标签: jndi

我的基本目标是拥有一个通用的JNDI查找代码,该代码可在J2EE应用服务器上使用。我的Web应用程序理想上不应要求在web.xml中添加条目才能工作:

我的Web应用程序将JNDI查找用于:

a)获取javax.sql.Datasource。 b)应用程序配置参数,例如-应用程序日志目录。

Apache Tomcat是开发服务器。我尚未在web.xml中添加。目的是可以在不使用web.xml版本的情况下部署Web应用程序(用于添加配置了JNDI资源的资源引用)

下面的代码片段可通过Tomcat获取数据源和jndi环境:

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 /”不起作用。

对此提供任何帮助,我们深表感谢。

0 个答案:

没有答案