繁体   English   中英

远程JMS glassfish 3.x

[英]Remote JMS glassfish 3.x

我已经为位于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连接? 提前致谢

您可以远程访问8080端口吗?

尝试从远程计算机访问示例Web应用程序。 例如http://10.10.10.2/sample/ 如果您不能远程访问它,而可以在本地访问它,则意味着glassfish可能绑定在本地主机地址上。

检查您的domain.xml并查看各种网络侦听器绑定到的IP地址。 如果是0.0.0.0,则表示防火墙可能正在阻止传入的连接。 如果它们是127.0.0.1,则必须将它们更改为网络IP或任何IP(0.0.0.0)。

如果您的配置一切正常,并且在重新启动后仍然无法访问它,请完全禁用任何防火墙,以查看在这种情况下一切正常。

看看这个

为了查看默认情况下哪些端口是防火墙,并在防火墙上添加必需的规则以允许正确访问

现在,您提到了集群。 这可能会有所帮助:

看一下这个

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM