Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 带Camel的消息侦听器_Java_Spring_Apache Camel_Enterprise Integration - Fatal编程技术网

Java 带Camel的消息侦听器

Java 带Camel的消息侦听器,java,spring,apache-camel,enterprise-integration,Java,Spring,Apache Camel,Enterprise Integration,我试图通过阅读一些书籍(Camel in Action)和一些教程来理解Camel是如何工作的,但有一些东西我实际上并不理解。基本上,每当用户单击网页进行特定操作时,我必须处理从web应用程序发送到兔子队列的一些消息 我将创建一个Maven项目,并定义一个配置路由来处理这个过程。我的怀疑与该过程的执行有关。如果我理解的很好,当我使用 maven camel:run 它创建CamelContext的实例并处理队列。但不清楚进程是否会保持活动状态,等待队列中的新消息。我是否必须创建一些主动检查队列

我试图通过阅读一些书籍(Camel in Action)和一些教程来理解Camel是如何工作的,但有一些东西我实际上并不理解。基本上,每当用户单击网页进行特定操作时,我必须处理从web应用程序发送到兔子队列的一些消息

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

maven camel:run
它创建CamelContext的实例并处理队列。但不清楚进程是否会保持活动状态,等待队列中的新消息。我是否必须创建一些主动检查队列上新消息的东西,比如侦听器或守护进程,或者可以使用Spring配置它

谢谢你的时间

Andrea

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


有关使用maven camel插件的更多信息,请参见此页面:

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


有关使用maven camel插件的更多信息,请参见此页面:

只要上下文已启动并正在运行,并且您已将队列定义为路由的入口点,它就应该继续侦听消息并进行处理。比如:

<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将终止。

只要上下文已启动并正在运行,并且您已将队列定义为路由的入口点,它就应该继续侦听消息并进行处理。比如:

<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将终止