List of usage examples for com.amazonaws.services.sqs.model ChangeMessageVisibilityBatchRequestEntry ChangeMessageVisibilityBatchRequestEntry
public ChangeMessageVisibilityBatchRequestEntry(String id, String receiptHandle)
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)); }