1

考虑到我有以下路线:

from('activemq:queue:myQueue?concurrentConsumers=10').
.....

from('seda:mySedaQueue?concurrentConsumers=10').
.....

如何使他们共享相同threadPool。那可能吗?

4

2 回答 2

2

这是不可能的,因为当您将 concurrentConsumers 与 SEDA 一起使用时,它们具有您指定的固定大小的私有线程池,例如在您的情况下为 10。然后所有 10 个线程都处于活动状态并轮询要处理的新消息。

这是设计使然,因为共享线程池没有意义/没有任何好处。由于线程不会返回池中,因为线程始终处于活动状态。

于 2013-09-14T09:32:42.183 回答
1

from("direct:queue").threads(10)

它共享默认线程池

于 2014-12-09T00:53:32.170 回答