Spring Integration工作队列

时间:2014-03-21 16:08:05

标签: spring-integration

我(非常)刚接触Spring集成并希望实现以下目标;

  • 我有一个频道 - 名为work-channel
  • 我有3个不同 工作人员); AliceBobClaire
  • Alice,Bob&克莱尔每人之间 5-10秒回复
  • Message张贴work-channel,当Alice,Bob和Claire处理并且他们可以并行工作时,工作视为已完成
  • 每个AliceBob& Claire(共30个实例)

我只是想看看这个模式被调用了什么以及你将在Spring集成中使用哪些端点来确保所有3个工作者只处理请求ONCE并将其结果发布到output-channel但是有很多工作人员在同一个work-channel队列上进行监听 - 我没有像AliceManager那样编写代码并在内部使用threadexecutors但是弹簧集成处理完整并发 - 这可能吗?

我将拥有一个网关,例如workersGateway.pushJobToWorks(job)

1 个答案:

答案 0 :(得分:1)

好吧,既然你说你只有一个入口点,那么你需要按不同的服务分配每个任务,所以Router模式适合你。

此外,您可以为每个工作人员使用Executor Channel,这将是并发。

我建议您阅读有关此事的书:EIPSpring Integration in Action