我有几个模块现在需要JNDI
其中一个模块通过Apache Tomcat运行,而其余模块作为J2SE应用程序单独运行
我能够配置使用tomcat的模块没有问题,我已经google了一下,并且收集了JBoss JNP可以成为一个很好的独立JNDI服务器。
我无法理解的是如何重用我已经配置的资源定义(对于我在context.xml文件中通过tomcat运行的模块)。
假设我在XML文件中定义了以下资源:
<Resource name="jdbc/dataSource" auth="Container" type="javax.sql.DataSource"
driverClassName="com.mchange.v2.c3p0.ComboPooledDataSource"
url="jdbc:sqlserver://******
username="**" password="**"/>
启动JNP的相关代码是:
System.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
System.setProperty("java.naming.factory.url.pkgs", "org.jboss.naming:org.jnp.interfaces");
NamingBeanImpl jnpServer = new NamingBeanImpl();
jnpServer.start();
如何让InitialContext
实例识别jdbc/dataSource
绑定?
答案 0 :(得分:0)
我认为你不能。 您可以在jboss命名上下文中定义jdbs资源,并在tomcat Web应用程序中查找。
此处有更多信息:http://www.amitysolutions.com.au/documents/JBossTomcatJNDI-technote.pdf