Example usage for com.amazonaws.services.sqs.model ReceiveMessageResult setMessages

List of usage examples for com.amazonaws.services.sqs.model ReceiveMessageResult setMessages

Introduction

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

Prototype


public void setMessages(java.util.Collection<Message> messages) 

Source Link

Document

A list of messages.

Usage

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;//from  w  w w . j  a va 2  s  .com
    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 .jav a2  s .  com
    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;
}