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

我见过AmqpJobSample

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

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

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

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

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

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

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

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

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

我怎么能使用AmqpItemReader和AmqpItemWriter? 我需要使用请求/回复吗? 我可以设置回复队列吗? 什么是最好的方法呢?

听起来你应该使用远程分块 。