我有一个不寻常的情况,如果我的应用程序在处理消息期间已正常关闭(例如,自动缩放),则我不希望将消息与重新传递的标志一起发送回队列。我希望仅在应用程序崩溃时设置标志。我在代码中具有一个功能,可以以不同方式对待重新传递的消息,并且不应考虑由于正常关机而导致的重新传递的消息。我正在寻找某种关闭处理程序,可以从中将消息的副本发送到同一队列并丢弃原始消息,这样我就可以避免设置redelivered标志。
如果我的应用程序已正常关闭,是否可以在不设置重新传递标志的情况下将消息返回到队列中?
如果我的应用程序已正常关闭,是否可以在不设置重新传递标志的情况下将消息返回到队列中?
没有; 一旦出于任何原因将其交付并拒绝(并重新排队),将设置重新交付标志。
框架中没有钩子可以执行您想要的操作;在任何情况下,将消息重新发送到队列都会改变消息的顺序。