List of usage examples for com.amazonaws.services.sqs.model ReceiveMessageRequest getMaxNumberOfMessages
public Integer getMaxNumberOfMessages()
The maximum number of messages to return.
From source file:org.apache.camel.component.aws.sqs.AmazonSQSClientMock.java
License:Apache License
@Override public ReceiveMessageResult receiveMessage(ReceiveMessageRequest receiveMessageRequest) throws AmazonServiceException, AmazonClientException { Integer maxNumberOfMessages = receiveMessageRequest.getMaxNumberOfMessages() != null ? receiveMessageRequest.getMaxNumberOfMessages() : Integer.MAX_VALUE;/* w w w . j a va 2s .co m*/ ReceiveMessageResult result = new ReceiveMessageResult(); Collection<Message> resultMessages = new ArrayList<Message>(); synchronized (messages) { int fetchSize = 0; for (Iterator<Message> iterator = messages.iterator(); iterator.hasNext() && fetchSize < maxNumberOfMessages; fetchSize++) { Message rc = iterator.next(); resultMessages.add(rc); iterator.remove(); scheduleCancelInflight(receiveMessageRequest.getQueueUrl(), rc); } } result.setMessages(resultMessages); return result; }
From source file:org.apache.camel.itest.osgi.aws.AmazonSQSClientMock.java
License:Apache License
@Override public ReceiveMessageResult receiveMessage(ReceiveMessageRequest receiveMessageRequest) throws AmazonServiceException, AmazonClientException { Integer maxNumberOfMessages = receiveMessageRequest.getMaxNumberOfMessages() != null ? receiveMessageRequest.getMaxNumberOfMessages() : Integer.MAX_VALUE;//from w w w.j av a 2s . co m ReceiveMessageResult result = new ReceiveMessageResult(); Collection<Message> resultMessages = new ArrayList<Message>(); synchronized (messages) { int fetchSize = 0; for (Iterator<Message> iterator = messages.iterator(); iterator.hasNext() && fetchSize < maxNumberOfMessages; fetchSize++) { resultMessages.add(iterator.next()); iterator.remove(); } } result.setMessages(resultMessages); return result; }
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"); }/* w w w. jav a 2 s . co 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; }