3


我有几个模块现在需要 JNDI。
其中一个模块通过 Apache Tomcat 运行,而其余模块作为 J2SE 应用程序独立运行。
我能够毫无问题地配置使用 tomcat 的模块,并且我搜索了一下并收集到 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绑定?

4

1 回答 1

0

我不认为你可以。您可能可以在 jboss 命名上下文中定义您的 jdbs 资源并在您的 tomcat Web 应用程序中查找它。

更多信息:http: //www.amitysolutions.com.au/documents/JBossTomcatJNDI-technote.pdf

于 2011-02-22T23:57:27.217 回答