Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.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
Apache camel 一旦触发多播步骤,ApacheCamel执行线程将不被使用_Apache Camel_Threadpool_Multicast - Fatal编程技术网

Apache camel 一旦触发多播步骤,ApacheCamel执行线程将不被使用

Apache camel 一旦触发多播步骤,ApacheCamel执行线程将不被使用,apache-camel,threadpool,multicast,Apache Camel,Threadpool,Multicast,一旦在路由中触发了,正在执行的Tomcat线程将不被使用。在路由中完成多播聚合后,是否有方法使用执行线程。目前正在使用驼峰冲刺启动程序:3.6.0和XML DSL进行路由。 示例路线: <route> <from uri="direct:trigger"/> <bean ref="bean1"/> <multicast> <bean ref="bean2"

一旦在路由中触发了
,正在执行的Tomcat线程将不被使用。在路由中完成多播聚合后,是否有方法使用执行线程。目前正在使用驼峰冲刺启动程序:3.6.0和XML DSL进行路由。
示例路线:

<route>
   <from uri="direct:trigger"/>
   <bean ref="bean1"/>
   <multicast>
     <bean ref="bean2"/>
     <bean ref="bean3"/>
   </multicast>
   <bean ref="bean4"/>
   <bean ref="bean5"/>
</route>

在每个bean中打印
Thread.currentThread.getName()
时,显示以下内容

CurrentThread-http-nio-8080-exec-1(开始控制器)
CurrentThread-http-nio-8080-exec-1(bean1)
CurrentThread-驼峰(驼峰-1)线程#10-多播(bean2)
CurrentThread-驼峰(驼峰-1)线程#11-多播(bean3)
CurrentThread-驼峰(驼峰-1)线程#11-多播(bean4)
CurrentThread-驼峰(驼峰-1)线程#11-多播(bean5)
CurrentThread-http-nio-8080-exec-1(终端控制器)

Spring MVC控制器中的执行线程通过
ProducerTemplate.sendBody()
触发一条路由,同一线程还将执行bean1,其中bean2和bean3由多播线程10和11执行。多播完成后,最后一个完成的线程#11将负责执行剩余的bean bean4和bean5,最后执行线程将响应调用者。在执行bean2到bean5期间,执行线程完全空闲

请告诉我是否有办法让执行线程负责执行剩余的bean。

提前感谢。

[executing]线程一旦被触发到显示
多播(bean4)
(&5)的程度,就会被闲置。惊人的