Camel的消息监听器

时间:2013-01-04 17:33:07

标签: java spring apache-camel enterprise-integration

我试图理解Camel如何阅读一些书籍(Camel in Actions)和一些教程,但有些东西我实际上并不理解。基本上,只要用户点击网页o进行特定操作,我就会处理从Web应用程序发送到某些Rabbit队列的一些消息。

我将创建一个Maven项目并定义一个配置路由来处理这个过程。我的疑问与该进程的执行有关。如果我理解得很好,当我使用

maven camel:run

它创建一个CamelContext实例并处理队列。但目前尚不清楚该进程是否会继续存在等待队列中的新消息。我是否要创建一些主动检查队列上新消息的东西,比如监听器或守护程序,还是可以使用Spring配置它?

谢谢你的时间!
安德烈

2 个答案:

答案 0 :(得分:2)

如果您的应用定义了camel-jms路由,那么它将在您的队列中创建一个有效的侦听器,直到您终止maven came:run进程

有关使用maven camel插件的更多信息,请参阅此页:http://camel.apache.org/camel-maven-plugin.html

答案 1 :(得分:2)

只要上下文已启动并且您已将队列定义为路由的入口点,它就应该继续侦听消息并处理它们。类似的东西:

<camel:camelContext xmlns="http://camel.apache.org/schema/spring" id="echoContext">

       <route id="echoJmsConsumeRoute">
           <from uri="activemq:queue:xxx.xxx.xxx.xxx.testqueue"/>
           <to uri="log:echo?level=DEBUG"/>
       </route>
</camel:camelContext>

如果您终止了maven进程,JVM将终止。

相关问题