【发布时间】:2011-12-24 07:54:53
【问题描述】:
我为 glassfish3 服务器上的嵌入式 JMS 创建了独立的远程客户端。
客户端代码:
jndiContext = new InitialContext();
queueConnectionFactory = (TopicConnectionFactory) jndiContext.lookup("topekFactory");
queue = (Topic) jndiContext.lookup("topek");
客户端只有在同一台机器上才能正常工作。每次我尝试在远程机器上运行它时,它都会挂在第二行。
我正在使用 -Dorg.omg.CORBA.ORBInitialHost=10.10.10.2 指向 glassfish 服务器。 还尝试使用属性创建 InitialContext :
props.setProperty("java.naming.factory.initial", "com.sun.enterprise.naming.SerialInitContextFactory");
props.setProperty("java.naming.factory.url.pkgs", "com.sun.enterprise.naming");
props.setProperty("java.naming.factory.state", "com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl");
props.setProperty("org.omg.CORBA.ORBInitialHost", "10.10.10.2");
props.setProperty("org.omg.CORBA.ORBInitialPort", "3700");
但没有积极的结果。
任何想法,做错了什么?如何将远程客户端与 glassfish 嵌入式 jms 连接? 提前致谢
【问题讨论】:
-
服务器绑定的是10.10.10.2还是0.0.0.0地址?你在什么操作系统上运行服务器?
-
在 windows 和 SLES11 上试过(listenieng 是 0.0.0.0)。它在不同的机器/操作系统上可 100% 重现。是否有一些限制远程连接的配置?
-
可以访问8080端口吗?
-
第二台机器运行集群的其他节点没有任何问题,所有机器上的防火墙都关闭了。有趣的是我可以在 3700 端口上 telnet,所以问题更深了
-
这是你第一次在你的帖子中提到集群......这就是为什么我给你我的答案。我会试着看看我是否能想出一些关于集群的东西。