【问题标题】:What Queue or queues is a camel route listening on什么队列或队列是骆驼路由监听
【发布时间】:2018-05-29 14:34:57
【问题描述】:

如果有的话,我如何确定什么 ActiveMQ 队列骆驼路由是消费者?该路线在 Karaf 内作为捆绑包运行。

【问题讨论】:

  • 您能否详细说明您需要知道的时间,是在运行时通过某些监控解决方案,还是只是在开发应用程序期间。它必须是骆驼路线,它可以是从 JMS 队列中读取的其他应用程序吗?您还可以在运行时使用 Karaf Camel 命令来输出它使用的 Camel 路由/端点,在那里您可以看到 jms/activemq 队列/主题名称。
  • 在运行时(所以我从操作的角度来看)我希望能够运行查询、命令或其他东西来查看我正在运行的骆驼路线连接到什么作为消费者。我认为您提到的命令是我正在寻找的。你有它们方便吗,还是我应该开始查看 Karaf 文档?重新骆驼路线,这恰好是我正在使用的。
  • 你应该已经在 Karaf 中有骆驼命令,例如它们在 shell 中以 camel 开头。有列出端点的命令,在 xml 中转储路由等等,因此您应该能够通过这些命令获取详细信息。

标签: apache-camel activemq karaf


【解决方案1】:

你必须自己定义它。每条 Camel 路线都以 from 语句开头。对于 ActiveMQ,这看起来像这样

from("activemq:queue:myAwesomeQueue")...

此路由将创建一个 ActiveMQ 消费者,该消费者消费到达 myAwesomeQueue 的每条消息。

与代理的连接“隐藏”在activemq: 后面。这是一个需要配置为连接到代理的 Camel 组件(ActiveMQ component)。

编辑:添加操作视角

Hawtio 是一个使用Jolokia 获取数据的网络控制台。 Jolokia 通过 REST API 提供 JMX 信息。

如果启用了 JMX,您可以获得有关 CamelContext 和/或 ActiveMQ 的大量信息。例如,在您的情况下,ActiveMQ 消费者的端点。

很遗憾我不能上传截图,因为 SO 的图片域被屏蔽了,但是谷歌给了你很多。

【讨论】:

  • 我应该指定我是从操作的角度而不是编程的角度来询问的。我们部署了一个 roue,它没有消耗我们认为应该拥有的队列中的消息。我正在寻找一种方法来查询 Karaf 容器或 ActiveMQ 以查看哪些路由连接到哪些队列。
  • 我更新了答案以添加操作视角
猜你喜欢
  • 2014-08-03
  • 2018-09-02
  • 1970-01-01
  • 2019-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-20
  • 1970-01-01
相关资源
最近更新 更多