Apache Camel - war项目如何处理队列并设置为另一个队列?

时间:2013-09-27 13:51:20

标签: apache-camel

我将Pojo对象设置为战争中的队列(来自独立应用程序),然后接受我需要从队列中读取的战争并处理对象。完成后,将对象设置为另一个队列(已处理队列)。随着战争发生的所有处理。因此,将有另一个应用程序从已处理的队列中读取并处理该对象。

那么处理这种情况的最佳方法是什么?我可以得到任何端到端的样品吗?

1 个答案:

答案 0 :(得分:1)

只需使用外部JMS代理(ActiveMQ),每个应用程序可以独立连接到此代理并从队列生成/使用....这是一种将应用程序与JMS联系起来的标准/轻量级方法...

<!--APP1-->
<camelContext xmlns="http://camel.apache.org/schema/spring">
  <route>
   <from uri="activemq:inQ" />
   <to uri="bean:MyBean" />    
   <to uri="activemq:outQ" />
  </route>
</camelContext>

<bean id="activemq" class="org.apache.activemq.camel.component.ActiveMQComponent">
    <property name="brokerURL" value="tcp://somehost:61616"/>
</bean>

<!--APP2-->
<camelContext xmlns="http://camel.apache.org/schema/spring">
  <route>
   <from uri="activemq:outQ" />
   ...
  </route>
</camelContext>

<bean id="activemq" class="org.apache.activemq.camel.component.ActiveMQComponent">
    <property name="brokerURL" value="tcp://somehost:61616"/>
</bean>

有关详情,请参阅此页:http://camel.apache.org/activemq.html