spring-integration - 如何为春季发布订阅频道创建多个单线程订阅者
问题描述
我有一个弹簧集成发布订阅频道。现在,当用户登录时,我创建了该频道的订阅者。因此,如果有 10 个用户,则将有 10 个订阅者。
我希望所有这些订阅者都是单线程的。有什么办法可以做到这一点。请指教。谢谢。
解决方案
好吧,如果您PublishSubscribeChannel
使用执行程序配置 a,每个订阅者都将从该执行程序的单独线程中获取其消息副本。如果您的订阅者流程对线程不执行任何操作,则所有步骤都将在该线程中执行。
生成与订阅者一样多的线程并不是一个好习惯。现在想象你将拥有1000甚至百万......
最好配置PublishSubscribeChannel
一个合理的ThreadPoolTaskExecutor
,让订阅者参与其中,而不是看到你的系统是如何因为线程太多而死掉的。
推荐阅读
- kubernetes - 只监控一个命名空间指标 - Prometheus with Kubernetes
- angular - 2个或更多变量的角度绑定
- avro - 如何在另一个架构中引用一个 avro 架构
- javascript - 从外部触发 jquery 插件中的事件
- mysql - 我们如何使用 MySQL 将同一行与精确计数合并?
- python - 在 Python 中进行多处理时,在类实例中通过 self 传递参数
- android - 如何在 Java 类中导入 kotlin 数据类
- jenkins - 詹金斯工作最近的变化:“任何构建都没有变化。”
- php - php pdo插入不返回
- javascript - attr("disabled", false) 在 Typescript 中导致错误