>我有一个队列通道和一个链,轮询器和任务执行器在该通道上"侦听",并行进行一些处理。我想做的是配置它,以便我可以根据某些逻辑/属性路由特定消息,以确保特定消息"类型"始终由来自任务执行器的特定线程处理。
示例:消息,其中:PAYLOAD_PROPERTY & 1 == 0
始终转到线程 1,PAYLOAD_PROPERTY & 1 == 1
线程 2(请注意,这只是 2 个线程的示例 - 我可以轻松地在这里使用路由器,但我可以想象有逻辑 - 如模运算 - 对于 10 个线程) - 换句话说:线程 1 和线程 2 无法同时处理相同"类型"的消息。因此,目的不仅仅是对其进行负载平衡 - 它是基于某些逻辑坚持使用同一线程。
我最初的想法是以某种方式使用通道调度程序(它可以有load-balancer-ref
和task-executor
),但不确定这是否有效,因为我有一个带有轮询器的链,可以进一步处理我需要的处理。
您能建议拥有上述工作流程的最佳组件设置是什么吗?
在"标准"任务执行器中没有这样的东西。
删除队列通道可能更容易,将路由器(订阅直接通道)路由到 10 个单独的执行程序通道,每个通道都配置了一个单线程执行程序。