我的应用程序是监听Rabbit MQ队列的spring引导微服务。队列接收来自不同源的消息。
要求是,当应用程序服务器关闭时(这可能是由于多种原因而发生的,可能是因为我们关闭了站点,或者我们正在将更新的软件部署到应用程序服务器上(,我们希望队列处理当前消息。截至目前,我们丢失了队列当前正在处理的消息。我怎样才能做到这一点?
默认shutdownTimeout
是5000ms;你可以增加它。
但是,您不应该丢失任何消息,它应该重新排队(除非您使用的是AcknowledgeMode.NONE
(这通常是一个坏主意(。