【问题标题】:Is there a Java 1.7 compatible Artemis JMS client?是否有兼容 Java 1.7 的 Artemis JMS 客户端?
【发布时间】:2019-11-12 02:26:25
【问题描述】:

是否有可能获得(或构建)与 Java 1.7 兼容的 artemis-jms-client-all-2.x.0.jar 等效项?

我需要它,因为 Weblogic SOA 10.x 不支持 Java 1.8,我想将它连接到 ActiveMQ Artemis。

【问题讨论】:

    标签: java jms weblogic wildfly activemq-artemis


    【解决方案1】:

    ActiveMQ Artemis JMS 客户端(及其许多依赖项)使用 Java 1.8 的语言功能,因此没有与 Java 1.7 兼容的 2.x 版本。理论上可以将 1.4 或更早版本与当前 2.x 代理一起使用,但那是在“artemis-jms-client-all”jar 可用之前,因此您需要使用“artemis-jms-client” " jar 并手动包含所有客户端依赖项。

    【讨论】:

    • 感谢贾斯汀的回答。我会试试看是否值得。也感谢您简化问题(不习惯)。
    • 嗨贾斯汀,我想我能够构建一个与所有依赖项兼容的 jar 兼容 java 1.7。但我不知道要提供什么连接工厂名称。我已经尝试了连接工厂XAConnectionFactory,它告诉我javax.naming.NameNotFoundException: XAConnectionFactory...曾经与artemis-jms-client-all-2.7.0.jar一起工作。你有什么建议吗?谢谢,埃里克。
    • 你构建的客户端是什么版本的?您为您的InitialContext 提供了哪些属性以进行 JNDI 查找?
    • 对于 jar,我取了 artemis-jms-client-1.4.0.jar,并添加了缺失的部分(javax 选自 artemis-jms-client-all-2.7.0.jarorg.apache.activemq.artemis.api .core 来自artemis-commons-1.4.0.jar)。这是我的 JNDI 初始上下文:Context.INITIAL_CONTEXT_FACTORY=org.apache.activemq.artemis.jndi.ActiveMQInitialContextFactoryContext.PROVIDER_URL=tcp://service01.dev.fld:61616queue.testReqQueue=testReqQueue
    • 找不到XAConnectionFactory,因为1.4.0客户端默认没有定义。这种便利是通过issues.apache.org/jira/browse/ARTEMIS-1164 添加的。您需要使用类似connectionFactory.XAConnectionFactory=tcp://service01.dev.fld:61616?type=XA_CF 的内容自己定义它。
    猜你喜欢
    • 2021-03-26
    • 1970-01-01
    • 1970-01-01
    • 2021-11-24
    • 1970-01-01
    • 2021-06-04
    • 2022-10-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多