JBoss JNP 作为独立服务器并使用 tomcat context.xml 中的资源配置
我有几个模块现在需要 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
绑定?
I have a couple of modules which now have the need of JNDI.
One of these modules runs via Apache Tomcat while the rest run standalone as J2SE application.
I was able to configure the module which uses tomcat without a problem and I've googled a bit and gathered that JBoss JNP can be a good standalone JNDI server to use.
What I fail to understand is how I can reuse the resources definitions which I have already configured (for my module which runs via tomcat in the context.xml file).
Let's say I have the following resource defined in the XML file:
<Resource name="jdbc/dataSource" auth="Container" type="javax.sql.DataSource"
driverClassName="com.mchange.v2.c3p0.ComboPooledDataSource"
url="jdbc:sqlserver://******
username="**" password="**"/>
And the relevant code which starts the JNP is:
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();
How can I have an InitialContext
instance identify the jdbc/dataSource
binding?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为你不能。
您可能可以在 jboss 命名上下文中定义 jdbs 资源,并在 tomcat Web 应用程序中查找它。
更多信息请参见:http://www.amitysolutions.com.au/documents/JBossTomcatJNDI -技术说明.pdf
I don't think you can.
You probably can define your jdbs resource in jboss naming context and look it up in your tomcat web app.
More info here: http://www.amitysolutions.com.au/documents/JBossTomcatJNDI-technote.pdf