ActiveMQ Artemis Anycast 和 Multicast 前缀
ActiveMQ Artemis Anycast and Multicast prefix
我正在使用 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")
使用 jms.queue.
前缀创建队列的原因几乎可以肯定是因为 Camel 使用的是 Artemis 1.x 客户端而不是 2.x客户。 1.x 客户端 hard-coded 使用 jms.queue.
和 jms.topic.
前缀。
如您所见,解决此问题的最简单方法是在 broker.xml
中的适当接受器上配置前缀。我不知道有什么方法可以用 Java 代码解决这个问题。我认为你最好的选择就是升级 Camel 正在使用的 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")
使用 jms.queue.
前缀创建队列的原因几乎可以肯定是因为 Camel 使用的是 Artemis 1.x 客户端而不是 2.x客户。 1.x 客户端 hard-coded 使用 jms.queue.
和 jms.topic.
前缀。
如您所见,解决此问题的最简单方法是在 broker.xml
中的适当接受器上配置前缀。我不知道有什么方法可以用 Java 代码解决这个问题。我认为你最好的选择就是升级 Camel 正在使用的 Artemis 客户端实现。