ActiveMQ Artemis 任播和多播前缀



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

当我在 AMQ 中将 Camel 与 jms 组件连接时,出于某种原因,在 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")

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

如您所注意的,解决此问题的最简单方法是在 broker.xml 中的相应接受器上配置前缀。我不知道有什么方法可以在 Java 代码中解决这个问题。我认为你最好的选择就是升级Camel正在使用的Artemis客户端实现。

相关内容

  • 没有找到相关文章

最新更新