如何其它机器上获取tomcat6服务器上的JNDI资源

fyi1106 2008-03-29 08:57:40
我在tomcat6服务器上配置了一个JNDI数据源,在服务器上的JSP和Servlet都能正常获取和使用数据源。

现在知道服务器的IP和数据源的JNDI名,我想在其它机器里使用服务器上的JNDI数据源,不知道能不能实现。

如果能,又怎么做呢?
...全文
104 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
fyi1106 2008-03-29
  • 打赏
  • 举报
回复
找了N久,原来tomcat没有提供命名管道来供容器外程序来调用,只能容器内部使用。
睿音 2008-03-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 fyi1106 的回复:]
你是用tomcat6吗?
端口1050?
[/Quote]
我的配置和tomcat没有什么关系。

建议你看下这篇文章。对你有用
http://forum.java.sun.com/thread.jspa?threadID=584253&messageID=2995484
fyi1106 2008-03-29
  • 打赏
  • 举报
回复
其实应该就是PROVIDER_URL的设置,不知道tomcat6的是什么。
fyi1106 2008-03-29
  • 打赏
  • 举报
回复
你是用tomcat6吗?
端口1050?
睿音 2008-03-29
  • 打赏
  • 举报
回复
我把你的问题简化下然后咱们再来说是否能够实现。

访问jndi资源是通过Context的lookup进行查找的。这样是否能够实现远程的一个JNDI的调用就主要集中在context的构造上。我写2种方式。楼主最好还是自己去看下API:

Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "javax.naming.spi.InitialContextFactory");
env.put(Context.PROVIDER_URL, "iiop://192.168.XXX.XXX:1050");
Context ctx = new InitialContext(env);


另外一种:

Properties contextProp = new Properties();
contextProp.setProperty(Context.INITIAL_CONTEXT_FACTORY, "javax.naming.spi.InitialContextFactory");
contextProp.setProperty(Context.PROVIDER_URL, "iiop://192.168.XXX.XXX:1050");

context= new InitialContext(contextProp);

简单的例子。可能说明不了什么。还是那句话需要楼主自己去看API来实现。

67,537

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧