ActiveMQ Artemis Anycast和Multicast前缀

时间:2019-05-28 17:55:32

标签: apache-camel activemq-artemis

我正在使用ActiveMQ Artemis 2.6.2版,并使用Apache Camel路由消息。

当我在AMQ中将Camel与jms-component连接时,出于某种原因在ActiveMQ Artemis中,将以jms.queue.作为前缀来创建新队列。

我知道如果我在broker.xml的接受器上添加以下代码,问题就解决了。但可悲的是,我无权这样做。

anycastPrefix=jms.queue.;multicastPrefix=jms.topic.

是否可以用Java代码解决此问题?我尝试了这些步骤,但没有成功。

from("amq:QUEUE.TEST").setProperty("anycastPrefix", simple("jms.queue."))
from("amq:jms:queue:QUEUE.TEST")

1 个答案:

答案 0 :(得分:1)

使用K.set_image_dim_ordering('th') 前缀创建队列的原因几乎可以肯定是因为Camel使用的是Artemis 1.x 客户端而不是2.x客户端。 1.x客户端经过硬编码,以使用jms.queue.jms.queue.前缀。

您注意到,解决此问题的最简单方法是在jms.topic.中的适当接受者上配置前缀。我不知道有什么方法可以用Java代码解决此问题。我认为您最好的选择就是升级Camel正在使用的Artemis客户端实现。