这是我的场景。我有一个现有的处理应用程序,当前正在使用camel将ActiveMQ消息从队列路由到java应用程序进行处理,通常有多个应用程序实例在不同的节点上运行。
只有当应用程序实例有能力处理消息时,我才需要能够将消息路由到该实例。应用程序 bean 本身知道其容量状态。 “testCapacity”方法返回一个 boolean 值,表示可用容量。
我已经尽我所能地进行了搜索,试图找到一种方法,可以使用对 bean 本身的调用作为“when”条件的决策点。
这是否可能,如果可能,如何实现。
<route>
<from uri="activemq:queue:myQueue" />
<when>
<xpath>idontknowwhattoputhere("bean:javaBean?method=testCapacity")</xpath>
<to uri="bean:javaBean?method=doThings" />
</when>
</route>
最佳答案
<route>
<from uri="activemq:queue:myQueue" />
<when>
<simple>${bean:javaBean?method=testCapacity}</simple>
<to uri="bean:javaBean?method=doThings" />
</when>
</route>
关于java - 进行 java 调用以确定 Apache Camel 条件路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43854898/