将远程JMS客户端连接到GlassFish 3

Nar*_*esh 7 jms glassfish remote-access

我试图从独立的远程客户端连接到GlassFish 3的JMS服务.但是我得到了一个java.lang.ClassNotFoundException:com.sun.messaging.jms.ra.ResourceAdapter.有想法该怎么解决这个吗?

这是我到目前为止的设置:

  • 在本地模式下的Glassfish 3 JMS服务(我假设EMBEDED模式在这种情况下不起作用,因为它绕过了网络堆栈)

  • JNDI属性指定如下:

    java.naming.factory.initial = com.sun.enterprise.naming.SerialInitContextFactory java.naming.factory.url.pkgs = com.sun.enterprise.naming java.naming.factory.state = com.sun.corba.ee. impl.presentation.rmi.JNDIStateFactoryImpl

  • gf-client-module.jar(在GLASSFISH_HOME/modules中)添加到独立应用程序的类路径中.还尝试添加模块目录中存在的其他jar(例如jms-core.jar),但仍然获得相同的ClassNotFoundException.

任何帮助将非常感激.

Nar*_*esh 2

好的。我找到了解决方案。有关详细信息,请参阅此处,但简短的答案是我需要将两个 jar 添加到类路径:imqjmsra.jar 和 imqbroker.jar。这些可以在名为 imqjmsra.rar 的 rar 中找到,可以在 glassfish 的 mq 目录下找到。我必须从这个 rar 中提取两个罐子!