Apache camel ApacheCamel-war项目如何处理队列并设置为另一个队列?
我将Pojo对象设置为war中的队列(来自独立应用程序),然后使用war,我需要从队列读取并处理对象。完成后,该对象将设置为另一个队列(已处理队列)。所有的处理都发生在战争中。因此,将有另一个应用程序从已处理队列中读取并处理对象Apache camel ApacheCamel-war项目如何处理队列并设置为另一个队列?,apache-camel,Apache Camel,我将Pojo对象设置为war中的队列(来自独立应用程序),然后使用war,我需要从队列读取并处理对象。完成后,该对象将设置为另一个队列(已处理队列)。所有的处理都发生在战争中。因此,将有另一个应用程序从已处理队列中读取并处理对象 那么,处理这种情况的最佳方法是什么?是否有我可以获得的端到端示例?只需使用外部JMS代理(ActiveMQ),每个应用程序都可以独立连接到此代理,并从队列中生成/使用…这是连接应用程序与JMS的标准/轻量级方法 <!--APP1--> <camelCo
那么,处理这种情况的最佳方法是什么?是否有我可以获得的端到端示例?只需使用外部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>
...
有关更多详细信息,请参阅本页:这当然不是过分,因为读取和写入JMS队列并不容易,您需要编写代码。使用Camel,可以完全用XML完成,也可以用代码更简单,只需几行代码。嗨,克劳斯·易卜生,谢谢你的评论,你能告诉我如何处理上述场景吗?处理这个问题的最佳方法是什么?我可以得到任何端到端的示例吗?嗨,boday,为什么您建议使用外部JMS代理,就像我可以配置camel一样?还有,我如何在不使用Spring进行XML配置的情况下使用JavaDSL实现这一点?你能发布JavaDSL示例吗?我也试过上面的例子。不幸的是,这不是我想要的方式。当我将我的bean设置为inQ时,它会显示已处理,但不会转到outQ。有什么想法吗?我建议使用外部代理,因为您有2个应用程序……否则,您可以使用嵌入式代理,但当app1关闭时,app2无法处理Q,等等……否则,您只需确保您的bean返回处理后的结果,以便将其添加到outQ的交换中(还需要确保其可序列化)