Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将SQS消息移动到其他队列_Java_Amazon Web Services_Amazon Sqs - Fatal编程技术网

Java 将SQS消息移动到其他队列

Java 将SQS消息移动到其他队列,java,amazon-web-services,amazon-sqs,Java,Amazon Web Services,Amazon Sqs,有没有办法将消息从一个队列移动到另一个队列?在这种情况下,由于资源不可用,消息可能最终出现在DLQ中。问题解决后,我们希望将消息移回原始队列,并再次对其进行处理。为了我们的跟踪目的,如果保留原始的MessageId和SentTimestamp就好了 我发现的最接近的事情是创建一个新的SendMessageRequest对象,并在上面复制消息的内容。但这将创建一条带有新ID和时间戳的全新消息 将消息移动到DLQ时,id和时间戳将被保留。是否可以以某种方式反转此操作?否。在队列之间移动时,无法保留消

有没有办法将消息从一个队列移动到另一个队列?在这种情况下,由于资源不可用,消息可能最终出现在DLQ中。问题解决后,我们希望将消息移回原始队列,并再次对其进行处理。为了我们的跟踪目的,如果保留原始的MessageId和SentTimestamp就好了

我发现的最接近的事情是创建一个新的SendMessageRequest对象,并在上面复制消息的内容。但这将创建一条带有新ID和时间戳的全新消息


将消息移动到DLQ时,id和时间戳将被保留。是否可以以某种方式反转此操作?

否。在队列之间移动时,无法保留消息id。SQS为您提供id和时间戳:

您可以在应用程序中执行以下操作:

  • 能够从两个队列中进行选择(在正常操作模式下,您只有正常队列)。您可以在重新处理时启用DLQ
  • 当重新查询时,在消息体中标记messageid和时间戳,在应用程序中,首先查看消息体,然后再查看消息本身。(您仍然需要使用sqs分配的messageid来确认处理)