JBoss JNP 作为独立服务器并使用 tomcat context.xml 中的资源配置

发布于 2024-10-01 20:56:18 字数 875 浏览 3 评论 0原文


我有几个模块现在需要 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

机场等船 2024-10-08 20:56:19

我认为你不能。
您可能可以在 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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文