在骆驼中有两条路由引用同一处理bean是否并行执行?

时间:2019-07-19 13:41:11

标签: java apache-camel spring-camel

我有一对骆驼路由,它们从两个不同的队列接收消息,它们的过程由同一个bean执行(通过引用)。这是通过Spring&Camel XML完成的。

配置如下:

<route id "route-1" xmlns="http://camel.apache.org/schema/spring">
    <from uri="queue:IN1" />
    <process ref = "myProcessBean />
</route>
<route id "route-2" xmlns="http://camel.apache.org/schema/spring">
    <from uri="queue:IN2" />
    <process ref = "myProcessBean />
</route>

如果我同时在IN1和IN2上收到消息,这些消息是否会并行处理?

1 个答案:

答案 0 :(得分:1)

是的。处理器是单例bean,可以并行处理。只需确保它不存储任何状态信息,这实际上是建议的最佳实践之一(请参见下面的链接)。

https://www.3riverdev.com/apache-camel-processors-should-never-be-stateful/