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

标签 glassfish jms 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。

  • 任何帮助将非常感激。

    最佳答案

    首选方法是使用 gf-client.jar 文件,而不是使用您可能需要的所有单个 Glassfish jar 文件(例如 gf-client-module.jar、imqjmsra.jar 和 imqbroker.jar)。它可以在 $GLASSFISH_HOME/lib 中找到。

    更多信息请访问 http://glassfish.java.net/javaee5/ejb/EJB_FAQ.html#StandaloneRemoteEJB .该文档涉及在独立客户端中使用 EJB,但使用 JMS 的解决方案是相同的。

    关于glassfish - 将远程 JMS 客户端连接到 GlassFish 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5489937/

    相关文章:

    java - 用户 : null doesnt have permission=CREATE_DURABLE_QUEUE on address

    jms - Wildfly 10 jms 将消息发送到队列作为 XA 事务的一部分

    java - 通过 Java 启动远程 Linux 机器上的进程(脚本/可执行文件)

    c++ - 在同一连接或拆分连接上流式传输视频和命令?

    python - 鼠标左键触发 "long click"的命令

    java - 休息服务 Jax-Rs - 发布多部分/数据

    java - 我无法重新登录 JSF 页面,除非关闭浏览器或重新启动 Glassfish

    java - Glassfish - 获取 session 中的所有队列

    java - 什么时候消息传递(例如 JMS)是多线程的替代方案?

    java - GlassFish 应用程序客户端容器