2010-11-30 56 views
3

连接到作为独立客户端的ActiveMQ绝对没有问题。你唯一需要的就是添加的ActiveMQ,全5.4.1.jar和你去...Glassfish V3.x和远程独立客户端

... 
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队列读取数据。这里有类似的线程,但没有任何地方引导。

感谢您的任何提示

斯文

+0

另一个线程:http://stackoverflow.com/questions/3646302/thinner-standalone-client-for-enterprise-application – javadude 2010-11-30 06:45:36

+0

和另一个http://stackoverflow.com/questions/2478958/use-glassfish-jms-from-remote-client – javadude 2010-11-30 06:49:37

回答

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 
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。