这是我的情景。我有一个现有的处理应用程序,当前正在使用camel将ActiveMQ消息从队列路由到java应用程序进行处理,通常有多个应用程序实例在不同的节点上运行。
当该实例具有处理它的能力时,我需要能够仅将消息路由到app实例。 app bean本身知道它的容量状态。方法“testCapacity”返回表示可用容量的布尔值。
我已经搜索过,我试图找到一种方法,我可以使用对bean本身的调用作为“when”条件的决策点。
这是否可能,如果有可能,这怎么可能实现。
<route>
<from uri="activemq:queue:myQueue" />
<when>
<xpath>idontknowwhattoputhere("bean:javaBean?method=testCapacity")</xpath>
<to uri="bean:javaBean?method=doThings" />
</when>
</route>
答案 0 :(得分:3)
<route>
<from uri="activemq:queue:myQueue" />
<when>
<simple>${bean:javaBean?method=testCapacity}</simple>
<to uri="bean:javaBean?method=doThings" />
</when>
</route>