我们在 Spring Integration 中有一个管道,它从 ActiveMQ(5 个队列)读取消息,然后在 Splitter、Transformers、Aggregators 之间移动这些消息......最后我们将结果发送到 Rest 端点。
如果我们使用 recognize="transacted",这些消息什么时候会被确认?
最佳答案
这取决于入站 channel 适配器的类型。
对于消息驱动适配器,当流程完成时(或者容器线程通过队列 channel 或任务执行器将其移交给另一个线程),它会被确认。
对于轮询 channel 适配器,它会在调用流程之前立即进行确认,除非您将轮询器设置为事务性的,在这种情况下,它的行为与消息驱动适配器相同。
关于java - 当使用 Spring Integration 从队列中读取的消息在 Transacted 情况下为 ACK 时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42537631/