我有一个在Payara 4.1.2.173上运行的应用程序。该应用程序应该正在发送和接收JMS消息,因此,我使用Apache ActiveMQ Artemis。我之所以选择ActiveMQ Artemis是因为ActiveMQ仅支持JMS 1.1,而ActiveMQ Artemis支持JMS 2.0。
但是我发现ActiveMQ Artemis没有提供资源适配器(.rar文件),而ActiveMQ却提供了资源适配器,这很奇怪。好的部分是,ActiveMQ的资源适配器能够连接到ActiveMQ Artemis。可悲的是,它仅支持JMS 1.1,因此无法使用Artemis(对我而言)的好处。
尽管使用JMS 1.1,创建使用者(MDB样式)很容易,但是当我要产生消息时,我需要自己处理连接的设置。我阅读了文档,似乎JMS 2.0应该支持注入JMSContext,可将其用于创建生产者,而无需设置连接本身。
但是ActiveMQ RA不支持注入JMSContext,它仅允许注入JMSConnectionFactory。
有没有办法让我注入配置为连接到ActiveMQ Artemis的JMSContext?
我已经在考虑直接从Payara使用随附的jmsra
RA,但是我不知道如何配置它。
答案 0 :(得分:2)
ActiveMQ Artemis提供了一个RAR文件,但要找到它并不容易,而且可能没有在任何地方进行记录:https://github.com/apache/activemq-artemis/tree/master/artemis-ra
Maven依赖项:http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.apache.activemq%22%20AND%20a%3A%22artemis-ra%22 示例:https://github.com/apache/activemq-artemis/tree/master/examples/features/sub-modules/artemis-ra-rar
如果有效,我会很感兴趣。我想自己尝试一下,但是没有太多时间做。