【问题标题】:Message listener with Camel使用 Camel 的消息监听器
【发布时间】:2012-12-19 04:13:29
【问题描述】:

我试图了解 Camel 如何阅读一些书籍(Camel in Actions)和一些教程,但有些东西我实际上不明白。基本上,每当用户单击网页或进行特定操作时,我都必须处理从 Web 应用程序发送到某些 Rabbit 队列的一些消息。

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

maven camel:run

它创建一个 CamelContext 实例并处理队列。但尚不清楚该进程是否会继续等待队列中的新消息。我是否需要创建一些东西来主动检查队列中的新消息,例如侦听器或守护程序,或者可以使用 Spring 对其进行配置?

感谢您的宝贵时间!
安德烈亚

【问题讨论】:

    标签: java spring apache-camel enterprise-integration


    【解决方案1】:

    如果您的应用程序定义了 camel-jms 路由,那么它将在您的队列上创建一个侦听器,该侦听器将一直处于活动状态,直到您终止 maven came:run 进程

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

    【讨论】:

      【解决方案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当然会终止。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-25
        • 2013-09-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多