Spring集成-并发服务激活器

Spring集成-并发服务激活器,spring,asynchronous,concurrency,producer-consumer,spring-integration,Spring,Asynchronous,Concurrency,Producer Consumer,Spring Integration,我有一个队列通道和一个带有轮询器的服务激活器,轮询器从该队列读取数据。我希望配置为“我希望50个线程轮询该队列,每次轮询并返回消息时,在此线程上调用服务激活器指向的服务。” 该服务没有@Async注释,但是是无状态的,可以以并发方式安全运行 下面的人会这样做吗?有没有其他更好的方法来实现这一点 是的,我想它能满足你的需要。一旦引入QueueChannel,交互将变为异步-您不需要@async。如果没有显式设置轮询器,它将使用默认轮询器 你所概述的是实现这一目标的最佳途径。您也可以考虑对队列大小进

我有一个队列通道和一个带有轮询器的服务激活器,轮询器从该队列读取数据。我希望配置为“我希望50个线程轮询该队列,每次轮询并返回消息时,在此线程上调用服务激活器指向的服务。”

该服务没有
@Async
注释,但是是无状态的,可以以并发方式安全运行

下面的人会这样做吗?有没有其他更好的方法来实现这一点


是的,我想它能满足你的需要。一旦引入QueueChannel,交互将变为异步-您不需要@async。如果没有显式设置轮询器,它将使用默认轮询器

你所概述的是实现这一目标的最佳途径。您也可以考虑对队列大小进行限制,以便在与生产者保持同步的情况下不会导致内存不足问题。如果指定了大小,则通道上的发送调用将阻塞-充当节流阀

您拥有的配置将按预期工作。唯一的问题是,一旦开始为每个端点创建执行器和轮询器,就很难确定整个应用程序的最佳配置。对一些特定的步骤进行这种优化是可以的,但不是对所有的端点进行优化(您的问题中没有任何内容表明您正在进行优化,只是认为我无论如何都会提出优化)