2017-02-09 5 views
1

Мы обернули существующую очередь расширенной функциональностью. Сообщения могут быть помещены в очередь, и мы видим, что тело сообщения хранится на S3.SQS Extended - Ручка ввода ввода недействительна

Однако, когда потребляется сообщение мы получаем следующую трассировку стека:

com.amazonaws.services.sqs.model.ReceiptHandleIsInvalidException: The input receipt handle is invalid. (Service: AmazonSQS; Status Code: 404; Error Code: ReceiptHandleIsInvalid; Request ID: ba9421e9-a9d2-56ba-8e17-70ff7190f05a) 
         at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:1182) 
         at com.amazonaws.http.AmazonHttpClient.executeOneRequest(AmazonHttpClient.java:770) 
         at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:489) 
         at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:310) 
         at com.amazonaws.services.sqs.AmazonSQSClient.invoke(AmazonSQSClient.java:2419) 
         at com.amazonaws.services.sqs.AmazonSQSClient.changeMessageVisibility(AmazonSQSClient.java:485) 
         at com.amazonaws.services.sqs.AmazonSQSClient.changeMessageVisibility(AmazonSQSClient.java:1692) 
         at com.amazon.sqs.javamessaging.AmazonSQSExtendedClientBase.changeMessageVisibility(AmazonSQSExtendedClientBase.java:1376) 

Что происходит, когда мы пытаемся изменить видимость. Разве это не поддерживается?

    sqsExtended.changeMessageVisibility(queueUrl, message.getReceiptHandle(), visibilityTimeout); 

ответ

0

Ответ в том, что это не было реализовано, и не пытаются предупредить вас, бросая исключение при вызове метода. Кажется, что нет причин, чтобы не быть реализованным, глядя на исходный код, это было бы просто.

Для нашего случая мы в порядке с ретрансляцией по значению по умолчанию для этого параметра и не устанавливаем его отдельно.

Смежные вопросы