Spring Cloud AWS(1.0.0.RC2)中SimpleMessageListenerContainer类的当前实现似乎在消息处理程序完成处理消息并且方法调用返回后自动删除消息。
在我们的应用程序中,我们需要能够处理消息并等待来自下游队列的异步确认,然后再从 SQS 上游队列中删除消息。就像是
接收 SQS msg -> Process msg -> Publish msg to RabbitMQ(线程在这里完成)
删除 SQS 消息 <- 我们的应用程序 <- RabbitMQ 消息成功 Ack(异步)
由于 msg ack 通过不同的线程异步返回,一旦我们检查了成功 ack,我们需要从 SQS 中手动删除 msg 的选项。
理想情况下,SimpleMessageListener 应该可配置为它在哪种模式下运行(自动删除或手动删除)。
我们非常希望使用 spring aws cloud lib(而不是推出我们自己的)与 SQS 集成,因为它已经处理了侦听器容器 bean 生命周期管理。
请让我知道上述建议的功能是否可行,如果可行,何时可以实施和发布。
谢谢。