弹簧集成 - 路由器、任务执行器和智能 LB



>我有一个队列通道和一个链,轮询器和任务执行器在该通道上"侦听",并行进行一些处理。我想做的是配置它,以便我可以根据某些逻辑/属性路由特定消息,以确保特定消息"类型"始终由来自任务执行器的特定线程处理。

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

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

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

在"标准"任务执行器中没有这样的东西。

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

最新更新