进行java调用以确定Apache Camel条件路由

时间:2017-05-08 18:32:54

标签: java apache-camel activemq

这是我的情景。我有一个现有的处理应用程序,当前正在使用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>

1 个答案:

答案 0 :(得分:3)

<route>
    <from uri="activemq:queue:myQueue" />
    <when>
        <simple>${bean:javaBean?method=testCapacity}</simple>
        <to uri="bean:javaBean?method=doThings" />
    </when>
</route>