Java 将SQS消息移动到其他队列
有没有办法将消息从一个队列移动到另一个队列?在这种情况下,由于资源不可用,消息可能最终出现在DLQ中。问题解决后,我们希望将消息移回原始队列,并再次对其进行处理。为了我们的跟踪目的,如果保留原始的MessageId和SentTimestamp就好了 我发现的最接近的事情是创建一个新的SendMessageRequest对象,并在上面复制消息的内容。但这将创建一条带有新ID和时间戳的全新消息Java 将SQS消息移动到其他队列,java,amazon-web-services,amazon-sqs,Java,Amazon Web Services,Amazon Sqs,有没有办法将消息从一个队列移动到另一个队列?在这种情况下,由于资源不可用,消息可能最终出现在DLQ中。问题解决后,我们希望将消息移回原始队列,并再次对其进行处理。为了我们的跟踪目的,如果保留原始的MessageId和SentTimestamp就好了 我发现的最接近的事情是创建一个新的SendMessageRequest对象,并在上面复制消息的内容。但这将创建一条带有新ID和时间戳的全新消息 将消息移动到DLQ时,id和时间戳将被保留。是否可以以某种方式反转此操作?否。在队列之间移动时,无法保留消
将消息移动到DLQ时,id和时间戳将被保留。是否可以以某种方式反转此操作?否。在队列之间移动时,无法保留消息id。SQS为您提供id和时间戳: 您可以在应用程序中执行以下操作:
- 能够从两个队列中进行选择(在正常操作模式下,您只有正常队列)。您可以在重新处理时启用DLQ
- 当重新查询时,在消息体中标记messageid和时间戳,在应用程序中,首先查看消息体,然后再查看消息本身。(您仍然需要使用sqs分配的messageid来确认处理)