0

我看过 AmqpJobSample

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

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

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

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

我的应用程序在 PHP Symfony 框架中,但我正在为当前在 shell 脚本中的批处理引入 Spring Batch。

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

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

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

是否有任何使用消息(例如 RabbiyMq)进行远程分块和分区的示例?

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

4

1 回答 1

0

听起来您应该改用远程分块

于 2014-04-16T13:16:02.177 回答