處理的消息後SQS消息手動刪除春季雲AWS(1.0.0.RC2)當前實現SimpleMessageListenerContainer一樣類的似乎是消息處理程序處理完消息和方法調用返回後自動刪除郵件。spring-cloud-aws。成功地
在我們的應用,我們需要能夠處理的消息,並從上游SQS隊列中刪除該消息之前從下行隊列等待異步確認。像
東西收到SQS味精 - >進程味精 - >發佈味精的RabbitMQ(線程在這裏完成)
刪除SQS味精< - 我們的應用程序< - RabbitMQ的消息成功確認(異步)
由於msg ack通過不同的線程異步回來,一旦我們檢查了成功ack,我們需要選擇手動從SQS中刪除msg。
理想情況下,SimpleMessageListener應該是可配置爲哪個模式它在運行時(自動刪除或手動刪除)。
我們很願意使用Spring的AWS雲LIB(VS推出我們自己)與SQS集成,因爲它已經負責監聽器容器中的Bean的生命週期管理。
請讓我知道,如果上述建議的功能被認爲是可行的,如果是這樣,當它可以實現和釋放。
謝謝。
當自動刪除功能被完全禁用時,應用程序有責任處理消息重複。我認爲這是一個合理的權衡。通過這種方式,它爲應用程序提供了對消息生命週期的更多控制。這同樣適用於處理有毒消息。通過中毒消息,我的意思是如果JSON負載無效或內容損壞,應用程序應該有機會決定如何處理消息(刪除或死信)。 – larryl 2015-02-11 00:59:13