Example usage for com.amazonaws.services.sqs.model ChangeMessageVisibilityBatchRequestEntry ChangeMessageVisibilityBatchRequestEntry

List of usage examples for com.amazonaws.services.sqs.model ChangeMessageVisibilityBatchRequestEntry ChangeMessageVisibilityBatchRequestEntry

Introduction

In this page you can find the example usage for com.amazonaws.services.sqs.model ChangeMessageVisibilityBatchRequestEntry ChangeMessageVisibilityBatchRequestEntry.

Prototype

public ChangeMessageVisibilityBatchRequestEntry(String id, String receiptHandle) 

Source Link

Document

Constructs a new ChangeMessageVisibilityBatchRequestEntry object.

Usage

From source file:aws.example.sqs.VisibilityTimeout.java

License:Open Source License

public static void changeMessageVisibilityMultiple(String queue_url, int timeout) {
    AmazonSQS sqs = AmazonSQSClientBuilder.defaultClient();

    List<ChangeMessageVisibilityBatchRequestEntry> entries = new ArrayList<ChangeMessageVisibilityBatchRequestEntry>();

    entries.add(new ChangeMessageVisibilityBatchRequestEntry("unique_id_msg1",
            sqs.receiveMessage(queue_url).getMessages().get(0).getReceiptHandle())
                    .withVisibilityTimeout(timeout));

    entries.add(new ChangeMessageVisibilityBatchRequestEntry("unique_id_msg2",
            sqs.receiveMessage(queue_url).getMessages().get(0).getReceiptHandle())
                    .withVisibilityTimeout(timeout + 200));

    sqs.changeMessageVisibilityBatch(queue_url, entries);
}

From source file:com.amazon.sqs.javamessaging.acknowledge.NegativeAcknowledger.java

License:Open Source License

/**
 * Action call block for negative acknowledge for the list of receipt
 * handles. This action can be applied on multiple messages for the same
 * queue.//from w ww  .  j  a v a 2 s  . co m
 * 
 * @param queueUrl
 *            The queueUrl of the queue, which the receipt handles belong.
 * @param receiptHandles
 *            The list of handles, which is be used to negative acknowledge
 *            the messages via using
 *            <code>changeMessageVisibilityBatch</code>.
 * @throws JMSException
 *             If <code>changeMessageVisibilityBatch</code> throws.
 */
@Override
public void action(String queueUrl, List<String> receiptHandles) throws JMSException {

    if (receiptHandles == null || receiptHandles.isEmpty()) {
        return;
    }

    List<ChangeMessageVisibilityBatchRequestEntry> nackEntries = new ArrayList<ChangeMessageVisibilityBatchRequestEntry>(
            receiptHandles.size());
    for (String messageReceiptHandle : receiptHandles) {
        ChangeMessageVisibilityBatchRequestEntry changeMessageVisibilityBatchRequestEntry = new ChangeMessageVisibilityBatchRequestEntry(
                batchIdGenerator.getAndIncrement() + "", messageReceiptHandle)
                        .withVisibilityTimeout(NACK_TIMEOUT);
        nackEntries.add(changeMessageVisibilityBatchRequestEntry);
    }
    amazonSQSClient
            .changeMessageVisibilityBatch(new ChangeMessageVisibilityBatchRequest(queueUrl, nackEntries));
}