你如何让骆驼在生成之前创建一个队列?

时间:2014-02-14 10:56:21

标签: apache-camel activemq jbossfuse

我的设置如下: -

  • activemq 5.8
  • JBoss Fuse ESB 6.0

只有在添加消费者时,即在<from uri="activemq:my-queue" />中,或者在将消息发送到不存在的队列时,才会自动创建队列。

在我的情况下,这是错误处理程序的一部分,它是我遇到问题的DLQ。它没有任何消费者,因此仅在发送消息时创建。我希望能够预先实例化队列,以便我能够检查它的相关MBean属性(通过Jolokia)。显然,在消息进入DLQ(希望永远不会)之前它不存在,这意味着没有要查询的MBean。

现在我知道我可以直接在activemq配置中创建队列,但由于各种原因,这是一条难以理解的路径。

所以问题是这个......

如何让camel在生成队列之前创建一个队列并且没有消费者?

我尝试定义<endpoint uri="activemq:my-dlq" />,但我认为这只是抓住了吸管,因为它只提供了创建消费者或生产者的钩子,并且实际上并没有创建队列。

1 个答案:

答案 0 :(得分:1)

您可以使用应创建的多个启动目标来配置activemq。您可以在activemq.xml配置文件中执行此操作。

ActiveMQ网站在这里有一些细节

但是他们的网站最近被重新生成,一些链接被破坏了。但指针是您在代理中设置这些目的地。