Spring 集成 - 如何使消息在 jdbc 消息存储中存活以防错误 or/and 在消费处理程序中关闭

Spring integration - How to make message survive in jdbc message store in case of an error or/and shut down in consuming handler

我有一个将消息存储到 jdbc 消息存储区的流程:

...
.channel { c -> c.queue(jdbcChannelMessageStore, "persist") }
.handle(MessageHandler { 
                        Thread.sleep(3000); 
                        throw RuntimeException() 
} ) { e -> e.poller { it.fixedDelay(1000)} }

如何确保消息在 hanler 成功完成之前不被删除?

使轮询器.transactional()使下游流在一个事务中运行;在流程结束(或移交给另一个线程)之前不会提交删除。