List of usage examples for com.amazonaws.services.sqs.model ReceiveMessageResult withMessages
public ReceiveMessageResult withMessages(java.util.Collection<Message> messages)
A list of messages.
From source file:org.flite.mock.amazonaws.sqs.AmazonSQSMock.java
License:Open Source License
public ReceiveMessageResult receiveMessage(final ReceiveMessageRequest request) throws AmazonServiceException, AmazonClientException { if (request == null) { throw new AmazonClientException("Null ReceiveMessageRequest"); }//from w w w.ja v a 2 s. c o m final String queueUrl = request.getQueueUrl(); checkURLForException(queueUrl); // Per documentation throws OverLimitException, but in my testing, // they actually only throw AmazonServiceException final Integer max = request.getMaxNumberOfMessages(); if (max == null || max < 1 || max > 10) { throw new AmazonServiceException("MaxNumberOfMessages must be a value between [1,10]"); } final ReceiveMessageResult result = new ReceiveMessageResult(); int received = 0; boolean avail = true; while (received < request.getMaxNumberOfMessages() && avail) { try { final Message msg = allQueues.get(queueUrl).remove(0); received++; msg.setReceiptHandle(RECEIPT_ID_PREFIX + incrementer.getAndIncrement()); retrievedMessages.get(queueUrl).put(msg.getReceiptHandle(), msg); result.withMessages(msg); } catch (Exception ex) { avail = false; } } return result; }