List of usage examples for com.amazonaws.services.sqs.model ReceiveMessageRequest withMaxNumberOfMessages
public ReceiveMessageRequest withMaxNumberOfMessages(Integer maxNumberOfMessages)
The maximum number of messages to return.
From source file:com.athena.sqs.MessageReceiver.java
License:Apache License
public void doReceive(String queueName) throws Exception { String queueUrl = messageContext.getQueue(queueName); logger.debug("Receiving a message to [" + queueName + "][" + queueUrl); // Receive messages ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest(queueUrl); while (true) { List<com.amazonaws.services.sqs.model.Message> messages = client .receiveMessage(receiveMessageRequest.withMaxNumberOfMessages(10)).getMessages(); logger.debug(new Date() + " : message count : " + messages.size()); if (messages.size() > 0) { for (com.amazonaws.services.sqs.model.Message message : messages) { // logger.debug(" Message"); // logger.debug(" MessageId: " + message.getMessageId()); // logger.debug(" ReceiptHandle: " + message.getReceiptHandle()); // logger.debug(" MD5OfBody: " + message.getMD5OfBody()); // logger.debug(" Body: " + message.getBody()); // for (Entry<String, String> entry : message.getAttributes().entrySet()) { // logger.debug(" Attribute"); // logger.debug(" Name: " + entry.getKey()); // logger.debug(" Value: " + entry.getValue()); // } logger.debug(" Message"); String body = message.getBody(); aggregator.aggregate(body); client.deleteMessage(new DeleteMessageRequest(queueUrl, message.getReceiptHandle())); }/* www . ja v a 2s .c o m*/ } else { logger.debug("Nothing found, trying again in 3 seconds"); Thread.sleep(pollingFrequency); } } }
From source file:org.springframework.cloud.aws.messaging.listener.AbstractMessageListenerContainer.java
License:Apache License
private QueueAttributes queueAttributes(String queue, SqsMessageDeletionPolicy deletionPolicy) { String destinationUrl;//from w w w.j a v a 2 s . co m try { destinationUrl = getDestinationResolver().resolveDestination(queue); } catch (DestinationResolutionException e) { getLogger().warn(String.format("The queue with name '%s' does not exist.", queue), e); return null; } ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest(destinationUrl) .withAttributeNames(RECEIVING_ATTRIBUTES).withMessageAttributeNames(RECEIVING_MESSAGE_ATTRIBUTES); if (getMaxNumberOfMessages() != null) { receiveMessageRequest.withMaxNumberOfMessages(getMaxNumberOfMessages()); } else { receiveMessageRequest.withMaxNumberOfMessages(DEFAULT_MAX_NUMBER_OF_MESSAGES); } if (getVisibilityTimeout() != null) { receiveMessageRequest.withVisibilityTimeout(getVisibilityTimeout()); } if (getWaitTimeOut() != null) { receiveMessageRequest.setWaitTimeSeconds(getWaitTimeOut()); } GetQueueAttributesResult queueAttributes = getAmazonSqs().getQueueAttributes( new GetQueueAttributesRequest(destinationUrl).withAttributeNames(QueueAttributeName.RedrivePolicy)); boolean hasRedrivePolicy = queueAttributes.getAttributes() .containsKey(QueueAttributeName.RedrivePolicy.toString()); return new QueueAttributes(receiveMessageRequest, hasRedrivePolicy, deletionPolicy); }
From source file:org.springframework.integration.aws.sqs.core.AmazonSQSOperationsImpl.java
License:Apache License
/** * Gets the specified number of Messages from SQS *//*w w w . jav a2 s.co m*/ public Collection<AmazonSQSMessage> receiveMessages(String queueURL, int maxNumberOfMessages) { ReceiveMessageRequest request = new ReceiveMessageRequest(queueURL); if (maxNumberOfMessages > 0) request.withMaxNumberOfMessages(maxNumberOfMessages); else request.withMaxNumberOfMessages(1); ReceiveMessageResult result; try { result = clientFactory.getClient(queueURL).receiveMessage(request); } catch (Exception e) { logger.error("Exception thrown while receiving a message from the queue \"" + queueURL + "\", check exception for more details", e); throw new AmazonSQSException(credentials.getAccessKey(), "Exception while receiving message from the queue \"" + queueURL + "\", see nested exception for more details", queueURL, null, e); } List<Message> messages = result.getMessages(); Collection<AmazonSQSMessage> response = new ArrayList<AmazonSQSMessage>(); for (Message message : messages) { buildSQSMessage(response, message); } return response; }
From source file:support.SQS.java
License:Open Source License
public List<Message> receiveMessages() throws Exception { // Receive messages ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest(receive_queue_url); receiveMessageRequest.withMessageAttributeNames(message_attribute_name); receiveMessageRequest.withAttributeNames(attribute_name); receiveMessageRequest.withWaitTimeSeconds(wait_time_seconds); receiveMessageRequest.withMaxNumberOfMessages(max_no_messages); receiveMessageRequest.withVisibilityTimeout(visibility_timeout); List<Message> messages = sqs.receiveMessage(receiveMessageRequest).getMessages(); return messages; }