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

标签 java apache-camel activemq

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

相关文章:

java - Camel 未使用 Camel-cxf 正确拦截 SoapFault

java - 如何在Java中将JMSType设置为订阅者?

java - 消费来自 MQ 的消息

java - Gradle Build-Android Gradle 3.2 中的数据绑定(bind)错误

apache-camel - Apache Camel 生产者消费者术语困境

java - 从启用虚拟消费者的java启动ActiveMQ(虚拟消费者不工作)

java - 可以向 ActiveMQ 代理发送消息的简单 java 应用程序

java - 使用 spring 部署到 Tomcat 的简单应用程序

java - Jsoup:在html中查找没有id的元素

java - Camel :sslContextParameters is not being used in an http4 connection