Payara从/向ActiveMQ Artemis消费/产生消息

时间:2018-07-04 06:32:02

标签: java-ee jms activemq payara activemq-artemis

我有一个在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,但是我不知道如何配置它。

1 个答案:

答案 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

如果有效,我会很感兴趣。我想自己尝试一下,但是没有太多时间做。