首页 > 解决方案 > 如何为春季发布订阅频道创建多个单线程订阅者

问题描述

我有一个弹簧集成发布订阅频道。现在,当用户登录时,我创建了该频道的订阅者。因此,如果有 10 个用户,则将有 10 个订阅者。

我希望所有这些订阅者都是单线程的。有什么办法可以做到这一点。请指教。谢谢。

标签: spring-integration

解决方案


好吧,如果您PublishSubscribeChannel使用执行程序配置 a,每个订阅者都将从该执行程序的单独线程中获取其消息副本。如果您的订阅者流程对线程不执行任何操作,则所有步骤都将在该线程中执行。

生成与订阅者一样多的线程并不是一个好习惯。现在想象你将拥有1000甚至百万......

最好配置PublishSubscribeChannel一个合理的ThreadPoolTaskExecutor,让订阅者参与其中,而不是看到你的系统是如何因为线程太多而死掉的。


推荐阅读