从appclient访问远程Glassfish服务器

从appclient访问远程Glassfish服务器,glassfish,Glassfish,我在不同的机器上有两台Glassfish 3.1.2服务器(localhost和192.168.0.5)。我还有一个appclient应用程序,它调用EJB并从JMS队列获取消息。我必须使用appclient容器,因为如果我想使用JMS队列的事务会话,这是我唯一的选择 如果我通过appclient.bat脚本在本地主机上运行appclient,我必须向脚本提供targetserver参数,如下所示: appclient.bat-targetserver localhost-jar appclie

我在不同的机器上有两台Glassfish 3.1.2服务器(localhost和192.168.0.5)。我还有一个appclient应用程序,它调用EJB并从JMS队列获取消息。我必须使用appclient容器,因为如果我想使用JMS队列的事务会话,这是我唯一的选择

如果我通过appclient.bat脚本在本地主机上运行appclient,我必须向脚本提供targetserver参数,如下所示: appclient.bat-targetserver localhost-jar appclient.jar-clientArg1-clientArg2

这使appclient连接到本地主机上运行的Glassfish。现在我想在客户端java应用程序中连接到192.168.0.5上的Glassfish,而appclient连接到locahost

我尝试过将参数设置为InitialContext,但没有使用它们

Properties props = new Properties();
props.setProperty("java.naming.factory.initial", "com.sun.enterprise.naming.impl.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", sourceURL);
props.setProperty("org.omg.CORBA.ORBInitialPort", "3700");
InitialContext ic = new InitialContext(props);
对EJB、JMS队列。。。始终从targetserver参数指定的Glassfish服务器获取


有什么建议吗?

找不到解决方案,因此我使用targetserver参数运行appclient批处理文件的次数是我必须运行的次数。

您在每台计算机上运行客户端,并传递
本地主机
?或者,你远程运行它,传递一个ip地址?是的,这是正确的。自2012年以来,我做了一些不同的事情。现在我使用到队列管理器的直接连接,所以我已经停止使用appcllient。如果我想调用服务器,我使用JAX-RS或JAX-WS。