0
不要重新排隊我有以下配置工作:如果交易失敗
@Autowired
private ConnectionFactory connectionFactory;
@Bean
Step step() {
return steps.get("step")
.<~>chunk(chunkSize)
.reader(reader())
.processor(processor())
.writer(writer())
.build();
}
@Bean
ItemReader<Person> reader() {
return new AmqpItemReader<>(amqpTemplate());
}
@Bean
AmqpTemplate amqpTemplate() {
RabbitTemplate rabbitTemplate = new RabbitTemplate(connectionFactory);
rabbitTemplate.setChannelTransacted(true);
return rabbitTemplate;
}
是否有可能改變RabbitResourceHolder的行爲在一個事務回滾的情況下,不重新排隊的消息?它在Spring批處理中有意義嗎?
我明白了,但我怎麼能用Spring Batch來做到這一點?我得到這個工作的唯一方法是在發生故障時手動發送到dlq –
在Spring Batch中如何使用偵聽器容器,因爲它是消息驅動的?一般來說,如果你更完整地解釋你的配置會更好。我有一個JIRA的PR,它應該儘快合併。 –
或者你在使用'RabbitTemplate.receive()'操作嗎? –