我们可以在Spring批处理中使用AmqpItemReader和AmqpItermWriter作为请求/回复用例吗?

时间:2014-04-16 12:59:44

标签: java spring spring-batch spring-amqp

我见过AmqpJobSample

http://docs.spring.io/spring-batch/spring-batch-samples/#AmqpJobFunctionalTests

它使用AmqpItemReader从rabbitmq消息队列中读取,使用消息处理程序处理它,然后使用AmqpItemWriter写回队列。

我的用例是,从我已经实现的listItemReader读取项目,然后将项目发送到消息队列,消息队列将由运行在不同服务器(rabbitmq集群)上的消费者处理,这些消费者将回复是否成功处理了iterm或不是每个项目。

然后我将从消息队列(在itemWriter中)读取它,如果检查项目处理的状态,如果成功则返回itemWriter的状态,否则将抛出异常。

我的应用程序是在PHP Symfony框架中,但我正在介绍批处理的弹簧批处理,目前是shell脚本。

我使用spring批处理来生成消息,但我的消费者使用的是PHP,它运行在不同的服务器上。我只想将id作为消息传递,并希望使用不同服务器上的PHP使用者来处理id。

如何进行远程分块或分区?

http://docs.spring.io/spring-batch/reference/html/scalability.html

是否有任何样本用于远程分块和使用消息传递进行分区,例如RabbiyMq?

我如何使用AmqpItemReader和AmqpItemWriter?我需要使用请求/回复吗?我可以设置回复队列吗?这是最好的方法吗?

1 个答案:

答案 0 :(得分:0)

听起来你应该使用remote chunking代替。