Spring batch Spring批处理AmqpItemReader确认

Spring batch Spring批处理AmqpItemReader确认,spring-batch,spring-rabbit,Spring Batch,Spring Rabbit,当我的服务关闭时,在读取带有数据的批处理后,我希望将数据返回到队列时,我遇到了一个问题。如果我在amqp中理解了,我可以使用acknowledge,但在SpringBath文档中我没有看到任何关于这方面的信息。此外,我检查了AmqpItemReader的源代码,没有看到任何确认流。我是否需要使用此流实现自定义ItemReader,还是遗漏了什么?AMQItemReader使用一个简单的RabbitTemplate.receive()操作,该操作会立即确认消息,除非消息正在事务中运行 控制ACK的

当我的服务关闭时,在读取带有数据的批处理后,我希望将数据返回到队列时,我遇到了一个问题。如果我在amqp中理解了,我可以使用acknowledge,但在SpringBath文档中我没有看到任何关于这方面的信息。此外,我检查了AmqpItemReader的源代码,没有看到任何确认流。我是否需要使用此流实现自定义ItemReader,还是遗漏了什么?

AMQItemReader使用一个简单的
RabbitTemplate.receive()
操作,该操作会立即确认消息,除非消息正在事务中运行

控制ACK的唯一方法是使用事务(使用
RabbitTransactionManager

如果事务被提交或回滚,事务管理器将分别确认或重新查询消息