Apache Camel - 浏览SEDA队列的交换

时间:2016-02-18 15:38:22

标签: multithreading apache-camel jconsole

我正在开发一个使用Apache Camel和JMX活动的小应用程序。 非常简单地说,我有一个使用SEDA组件的路由 - 只有1个消费者 - 简而言之,如果路由繁忙,它会创建自己的线程并对传入的Exchange进行排队。

基本上我想监视/浏览/可视化在SEDA队列中等待的Exchange。我已经尝试过使用JMX的Hawtio和JConsole,但它只提供了该给定路线上的总和当前机上交换次数。它没有提到等待处理的交易所数量。

我还尝试了浏览组件,它跟踪传递给浏览端点的所有交换,但它保留所有交换,而不仅仅是排队"的。

我想知道Camel中是否有开箱即用的东西允许我这样做,或者我是否忽略了Hawtio或JConsole中的某些内容。

提前致谢。

1 个答案:

答案 0 :(得分:1)

您可以在SedaEndpoint mbean上看到队列中有多少条消息。您可以在hawtio的端点树中找到它们,也可以在普通的JMX中找到它们。

@ManagedAttribute(description = "Current queue size") public int getCurrentQueueSize() { return queue.size(); }