Java Glassfish V3.x和远程独立客户端

Java Glassfish V3.x和远程独立客户端,java,glassfish,client,queue,jms,Java,Glassfish,Client,Queue,Jms,作为独立客户端连接到ActiveMQ绝对没有问题。您只需添加activemq-all-5.4.1.jar即可 ... prop.put(Context.SECURITY_AUTHENTICATION , "system"); prop.put(Context.SECURITY_CREDENTIALS,"manager"); prop.put(Context.INITIAL_CONTEXT_FACTORY,"org.apache.activemq.jndi.ActiveMQInitialConte

作为独立客户端连接到ActiveMQ绝对没有问题。您只需添加activemq-all-5.4.1.jar即可

...
prop.put(Context.SECURITY_AUTHENTICATION , "system");
prop.put(Context.SECURITY_CREDENTIALS,"manager");
prop.put(Context.INITIAL_CONTEXT_FACTORY,"org.apache.activemq.jndi.ActiveMQInitialContextFactory");
prop.put(Context.PROVIDER_URL,"tcp://localhost:61616");
prop.put("connectionFactoryNames", "TopicCF");
prop.put("topic.topic1", "topic1");

InitialContext ctx = new InitialContext(prop);
...
现在您想要连接到Glassfish V3.x,并且似乎不可能获得正确的库和类来连接。虽然在Glassfish V2.x中仍然有可能,但我还没有成功地为Glassfish运行与上述代码相当的代码

...
Properties properties = new Properties();
properties.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.appserv.naming.S1ASCtxFactory");
properties.put(Context.PROVIDER_URL, "iiop://localhost:3700");
InitialContext context = new InitialContext(properties)
...
有人对此有答案吗?不,我不想仅仅为了读取Glassfish队列而部署企业应用程序客户端。这里有类似的线索,但没有任何线索

谢谢你的提示


Sven

这是glassfish 3的客户罐的完整列表:

auto-depends.jar
deployment-common.jar
glassfish-corba-internal-api.jar    
internal-api.jar
management-api.jar
bean-validator.jar
dol.jar
glassfish-corba-newtimer.jar        
javax.ejb.jar
orb-connector.jar
common-util.jar
ejb-container.jar
glassfish-corba-omgapi.jar      
javax.jms.jar
orb-iiop.jar
config-api.jar
ejb.security.jar
glassfish-corba-orb.jar
javax.resource.jar
security.jar
config-types.jar
glassfish-api.jar
glassfish-corba-orbgeneric.jar      
javax.servlet.jar
ssl-impl.jar
config.jar
glassfish-corba-asm.jar
glassfish-naming.jar
javax.transaction.jar
transaction-internal-api.jar
connectors-internal-api.jar     
glassfish-corba-codegen.jar     
gmbal.jar
jta.jar
container-common.jar
glassfish-corba-csiv2-idl.jar       
hk2-core.jar
kernel.jar

连接到Glassfish V3时,不需要向InitialContext构造函数提供任何属性。您可以简单地使用no-arg构造函数。要指定服务器名称和端口,请分别在JVM上设置
-Dorg.omg.CORBA.ORBInitialHost
-Dorg.omg.CORBA.ORBInitialPort
属性

至于库,您只需要包含gf-client.jar文件。可以在$GLASSFISH_HOME/lib上找到它。这个jar文件将自动包含所需的任何其他库


有关更多信息,请参阅。尽管该文档解决了在独立客户端中使用EJB的问题,但同样的解决方案也适用于使用JMS。

当遇到同样的问题时,您可以去看看我找到的解决方案:

另一个线程:和另一个线程:您有没有整理过这个问题,我也遇到了同样的问题……请原谅我告诉您,但是你的回答看起来完全是自动的,这就是为什么我投了反对票。很抱歉你不得不投我反对票,这不是自动的-我花了很长时间才弄清楚jar依赖列表-这就是为什么我把它贴在几个问题上的原因-希望它能帮助一些人,让他们免受我不得不经历的挫折。