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

时间:2010-11-30 06:35:55

标签: 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.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)
...

有人对此有答案吗?不,我不想部署企业app-client只是为了从Glassfish队列中读取。这里有类似的线程,但没有任何指南。

感谢您提供任何提示

斯文

3 个答案:

答案 0 :(得分:3)

这是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

答案 1 :(得分:3)

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

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

有关详细信息,请参阅http://glassfish.java.net/javaee5/ejb/EJB_FAQ.html#StandaloneRemoteEJB。虽然该文档解决了在独立客户端中使用EJB的问题,但相同的解决方案适用于使用JMS。

答案 2 :(得分:0)

您可以在遇到完全相同的问题时看到我找到的解决方案:With which maven dependencies can i create a standalone JMS client for Glassfish ?