Spring Integration - 路由器,任务执行器和智能LB.

时间:2017-05-18 09:52:12

标签: spring-integration

我有一个队列通道和一个带有轮询器和任务执行器的链“在该通道上”监听“,并行进行一些处理。我想要做的是以这样的方式配置它,即我可以根据某些逻辑/属性路由特定的消息,以确保特定的消息'type'始终由任务执行器的特定线程处理。

示例:消息其中:PAYLOAD_PROPERTY & 1 == 0始终转到线程1,PAYLOAD_PROPERTY & 1 == 1转到线程2(请注意,这只是2个线程的示例 - 我可以在这里轻松使用路由器,但我可以想象对于10个线程也有逻辑 - 就像模运算一样) - 换句话说:线程1和线程2不能同时处理相同的“类型”消息。因此,目的不仅仅是对它进行负载平衡 - 它是基于某些逻辑坚持使用相同的线程。

我最初的想法是以某种方式使用频道调度程序(它可以有load-balancer-reftask-executor),但不确定这是否会起作用,因为我有一个带有轮询器的链,我需要进一步处理。

您能否建议具有上述工作流程的最佳组件设置是什么?

1 个答案:

答案 0 :(得分:0)

""标准"任务执行者。

删除队列通道可能更容易,路由器(订阅直接通道)路由到10个单独的执行器通道,每个通道配置一个单线程执行器。

相关问题