in src/main/java/com/amazonaws/services/sqs/util/ReceiveQueueBuffer.java [528:554]
protected void nackMessages(Collection<Message> messages) {
if (messages.isEmpty()) {
return;
}
ChangeMessageVisibilityBatchRequest batchRequest = new ChangeMessageVisibilityBatchRequest().withQueueUrl(sourceQueueUrl);
// TODO-RS: UserAgent?
List<ChangeMessageVisibilityBatchRequestEntry> entries =
new ArrayList<ChangeMessageVisibilityBatchRequestEntry>(messages.size());
int i = 0;
for (Message m : messages) {
entries.add(new ChangeMessageVisibilityBatchRequestEntry().withId(Integer.toString(i))
.withReceiptHandle(m.getReceiptHandle()).withVisibilityTimeout(0));
++i;
}
try {
batchRequest.setEntries(entries);
sqsClient.changeMessageVisibilityBatch(batchRequest);
} catch (AmazonClientException e) {
// Log and ignore.
LOG.warn("ReceiveMessageBatchTask: changeMessageVisibility failed " + e);
}
}