List of usage examples for com.amazonaws.services.sqs.model Message getMessageId
public String getMessageId()
A unique identifier for the message.
From source file:com.allogy.amazonaws.elasticbeanstalk.worker.simulator.application.WorkerApplication.java
License:Apache License
private HttpEntity<String> createHttpEntity(MessageWrapper messageWrapper, Message message) { String messageId = message.getMessageId(); HttpHeaders headers = new HttpHeaders(); headers.set("User-Agent", "aws-sqsd/1.1 (simulated bridge)"); headers.set("X-Aws-Sqsd-Msgid", messageId); headers.set("X-Aws-Sqsd-Queue", messageWrapper.getQueueName()); headers.set("X-Aws-Sqsd-Receive-Count", Integer.toString(messageWrapper.getMessageCount())); headers.setContentType(MediaType.APPLICATION_JSON); return new HttpEntity<>(message.getBody(), headers); }
From source file:com.amazon.aws.demo.anonymous.sqs.SimpleQueue.java
License:Open Source License
public static List<String> recieveMessageIds(String queueUrl) { List<String> messageIds = new ArrayList<String>(); ReceiveMessageRequest req = new ReceiveMessageRequest(queueUrl); lastRecievedMessages = getInstance().receiveMessage(req).getMessages(); for (Message m : lastRecievedMessages) { messageIds.add(m.getMessageId().toString()); }/*from ww w . j a va 2 s.c o m*/ return messageIds; }
From source file:com.amazon.sqs.javamessaging.AcknowledgerCommon.java
License:Open Source License
public void populateMessage(int populateMessageSize) throws JMSException { String queueUrl = baseQueueUrl + 0; for (int i = 0; i < populateMessageSize; i++) { // Change queueUrl depending on how many messages there are. if (i == 11) { queueUrl = baseQueueUrl + 1; } else if (i == 22) { queueUrl = baseQueueUrl + 2; } else if (i == 33) { queueUrl = baseQueueUrl + 3; } else if (i == 44) { queueUrl = baseQueueUrl + 4; }/*from w w w. j av a 2 s.c o m*/ Message sqsMessage = mock(Message.class); when(sqsMessage.getReceiptHandle()).thenReturn("ReceiptHandle" + i); when(sqsMessage.getMessageId()).thenReturn("MessageId" + i); // Add mock Attributes Map<String, String> mockAttributes = new HashMap<String, String>(); mockAttributes.put(SQSMessagingClientConstants.APPROXIMATE_RECEIVE_COUNT, "2"); when(sqsMessage.getAttributes()).thenReturn(mockAttributes); SQSMessage message = (SQSMessage) new SQSTextMessage(acknowledger, queueUrl, sqsMessage); populatedMessages.add(message); acknowledger.notifyMessageReceived(message); } Assert.assertEquals(populateMessageSize, acknowledger.getUnAckMessages().size()); }
From source file:com.boundary.aws.sqs.Sample.java
License:Open Source License
public static void main(String[] args) throws Exception { String queueName = "boundary-sqs-demo-queue"; /*/*from ww w . j av a 2 s . co m*/ * The ProfileCredentialsProvider will return your [default] credential * profile by reading from the credentials file located at * (HOME/.aws/credentials). */ AWSCredentials credentials = null; try { credentials = new ProfileCredentialsProvider("default").getCredentials(); } catch (Exception e) { throw new AmazonClientException("Cannot load the credentials from the credential profiles file. ", e); } AmazonSQS sqs = new AmazonSQSClient(credentials); Region usWest2 = Region.getRegion(Regions.US_WEST_2); sqs.setRegion(usWest2); try { // Create a queue System.out.printf("Creating queue: %s.\n", queueName); CreateQueueRequest createQueueRequest = new CreateQueueRequest(queueName); String myQueueUrl = sqs.createQueue(createQueueRequest).getQueueUrl(); int messageCount = 100; // Send a messages for (int count = 1; count <= messageCount; count++) { System.out.printf("Sending message %3d to %s.\n", count, queueName); sqs.sendMessage(new SendMessageRequest(myQueueUrl, new Date() + ": This is my message text.")); } for (int count = 1; count <= messageCount; count++) { ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest(myQueueUrl); List<Message> messages = sqs.receiveMessage(receiveMessageRequest).getMessages(); for (Message msg : messages) { System.out.printf("Received message: %s queue: %s body: %s\n", msg.getMessageId(), queueName, msg.getBody()); System.out.printf("Deleting message: %s queue: %s\n", msg.getMessageId(), queueName); String messageRecieptHandle = msg.getReceiptHandle(); sqs.deleteMessage(new DeleteMessageRequest(myQueueUrl, messageRecieptHandle)); } } System.out.printf("Deleting queue: %s\n", queueName); sqs.deleteQueue(new DeleteQueueRequest(myQueueUrl)); } catch (AmazonServiceException ase) { System.out.println("Caught an AmazonServiceException, which means your request made it " + "to Amazon SQS, but was rejected with an error response for some reason."); System.out.println("Error Message: " + ase.getMessage()); System.out.println("HTTP Status Code: " + ase.getStatusCode()); System.out.println("AWS Error Code: " + ase.getErrorCode()); System.out.println("Error Type: " + ase.getErrorType()); System.out.println("Request ID: " + ase.getRequestId()); } catch (AmazonClientException ace) { System.out.println("Caught an AmazonClientException, which means the client encountered " + "a serious internal problem while trying to communicate with SQS, such as not " + "being able to access the network."); System.out.println("Error Message: " + ace.getMessage()); } sqs.shutdown(); }
From source file:com.comcast.cqs.model.CQSMessage.java
License:Apache License
public CQSMessage(Message message) { this.messageId = message.getMessageId(); this.receiptHandle = message.getReceiptHandle(); this.body = message.getBody(); this.mD5OfBody = message.getMD5OfBody(); }
From source file:com.dxc.temp.SimpleQueueServiceSample.java
License:Open Source License
public static void main(String[] args) throws Exception { BasicConfigurator.configure();//from w ww.j a va2s.c om /* * The ProfileCredentialsProvider will return your [default] * credential profile by reading from the credentials file located at * (~/.aws/credentials). */ AWSCredentials credentials = null; try { credentials = new ProfileCredentialsProvider().getCredentials(); } catch (Exception e) { throw new AmazonClientException("Cannot load the credentials from the credential profiles file. " + "Please make sure that your credentials file is at the correct " + "location (~/.aws/credentials), and is in valid format.", e); } System.out.println(String.format("Found AWSAccessKeyId: %s", credentials.getAWSAccessKeyId())); System.out.println(String.format("Found AWSAccessSecretKey: %s", credentials.getAWSSecretKey())); AmazonSQS sqs = new AmazonSQSClient(credentials); Region usEast1 = Region.getRegion(Regions.US_EAST_1); sqs.setRegion(usEast1); System.out.println("==========================================="); System.out.println("Getting Started with Amazon SQS"); System.out.println("===========================================\n"); try { // Create a queue System.out.println("Creating a new SQS queue called MyQueue.\n"); CreateQueueRequest createQueueRequest = new CreateQueueRequest("MyQueue"); String myQueueUrl = sqs.createQueue(createQueueRequest).getQueueUrl(); // List queues System.out.println("Listing all queues in your account.\n"); for (String queueUrl : sqs.listQueues().getQueueUrls()) { System.out.println(" QueueUrl: " + queueUrl); } System.out.println(); // Send a message System.out.println("Sending a message to MyQueue.\n"); sqs.sendMessage(new SendMessageRequest(myQueueUrl, "Message body text")); // Receive messages System.out.println("Receiving messages from MyQueue.\n"); ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest(myQueueUrl); List<Message> messages = sqs.receiveMessage(receiveMessageRequest).getMessages(); for (Message message : messages) { System.out.println(" Message"); System.out.println(" MessageId: " + message.getMessageId()); System.out.println(" ReceiptHandle: " + message.getReceiptHandle()); System.out.println(" MD5OfBody: " + message.getMD5OfBody()); System.out.println(" Body: " + message.getBody()); for (Entry<String, String> entry : message.getAttributes().entrySet()) { System.out.println(" Attribute"); System.out.println(" Name: " + entry.getKey()); System.out.println(" Value: " + entry.getValue()); } } System.out.println(); // Delete a message // System.out.println("Deleting a message.\n"); // String messageReceiptHandle = messages.get(0).getReceiptHandle(); // sqs.deleteMessage(new DeleteMessageRequest(myQueueUrl, messageReceiptHandle)); // Delete a queue // You must wait 60 seconds after deleting a queue before you can create another with the same name // System.out.println("Deleting the test queue.\n"); // sqs.deleteQueue(new DeleteQueueRequest(myQueueUrl)); } catch (AmazonServiceException ase) { System.out.println("Caught an AmazonServiceException, which means your request made it " + "to Amazon SQS, but was rejected with an error response for some reason."); System.out.println("Error Message: " + ase.getMessage()); System.out.println("HTTP Status Code: " + ase.getStatusCode()); System.out.println("AWS Error Code: " + ase.getErrorCode()); System.out.println("Error Type: " + ase.getErrorType()); System.out.println("Request ID: " + ase.getRequestId()); } catch (AmazonClientException ace) { System.out.println("Caught an AmazonClientException, which means the client encountered " + "a serious internal problem while trying to communicate with SQS, such as not " + "being able to access the network."); System.out.println("Error Message: " + ace.getMessage()); } }
From source file:com.easarrive.aws.plugins.common.service.impl.SQSNotificationService.java
License:Open Source License
/** * {@inheritDoc}/* www .ja v a 2 s . c o m*/ */ @Override public List<NotificationHandleResult<Message, Boolean>> handleNotification(Message message) throws AWSPluginException { try { if (message == null) { throw new AWSPluginException("The message is null"); } if (notificationHandlerList == null) { throw new AWSPluginException("The notificationHandlerList is null for message (ID : %s)", message.getMessageId()); } if (notificationHandlerList.isEmpty()) { throw new AWSPluginException("The notificationHandlerList is empty for message (ID : %s)", message.getMessageId()); } ExecutorService executorService = Executors.newCachedThreadPool(); List<Future<List<NotificationHandleResult<Message, Boolean>>>> resultList = new ArrayList<Future<List<NotificationHandleResult<Message, Boolean>>>>(); for (INotificationHandler<Message, Boolean> notificationHandler : notificationHandlerList) { Future<List<NotificationHandleResult<Message, Boolean>>> future = executorService .submit(new NotificationHandlerCallable(notificationHandler, message)); resultList.add(future); } List<NotificationHandleResult<Message, Boolean>> returnList = new ArrayList<NotificationHandleResult<Message, Boolean>>(); //?? for (Future<List<NotificationHandleResult<Message, Boolean>>> fs : resultList) { try { List<NotificationHandleResult<Message, Boolean>> result = fs.get(); for (NotificationHandleResult<Message, Boolean> notificationHandleResult : result) { returnList.add(notificationHandleResult); } } catch (Exception e) { if (logger.isErrorEnabled()) { logger.error(e.getMessage(), e); } returnList.add( new NotificationHandleResult<Message, Boolean>(message.getMessageId(), message, false)); } finally { //???????? executorService.shutdown(); } } return returnList; } catch (Exception e) { throw new AWSPluginException(e.getMessage(), e); } }
From source file:com.easarrive.image.thumbor.executer.impl.RequestSQSCallable.java
License:Open Source License
@Override public Boolean call() throws Exception { try {//from www.ja va2 s .co m AmazonSQS client = sqsService.getAmazonSQSClient(region); ReceiveMessageResult result = sqsService.receiveMessage(client, queueUrl, maxNumberOfMessages, visibilityTimeout); if (logger.isDebugEnabled()) { logger.debug("The messages to receive result is {}", result); } if (result == null) { throw new ThumborException("The messages to receive result is null"); } List<Message> messageList = result.getMessages(); if (messageList == null) { throw new ThumborException("The message list is null"); } if (messageList.isEmpty()) { if (logger.isInfoEnabled()) { logger.info("The message list is empty", result); } return true; } ExecutorService executorService = Executors.newCachedThreadPool(); List<Future<Map<String, Object>>> resultList = new ArrayList<Future<Map<String, Object>>>(); for (Message message : messageList) { Future<Map<String, Object>> future = executorService .submit(new MessageCallable(notificationService, message)); resultList.add(future); } //?? for (Future<Map<String, Object>> fs : resultList) { try { Map<String, Object> resultMap = fs.get(); if (logger.isDebugEnabled()) { logger.debug("The SQS message result to handle is {}", resultMap); } Message message = (Message) resultMap.get(MessageCallable.KEY_MESSAGE); List<NotificationHandleResult<Message, Boolean>> resultList1 = (List<NotificationHandleResult<Message, Boolean>>) resultMap .get(MessageCallable.KEY_RESULT); logger.info("The SQS message result list is {}", resultList1); boolean success = false; for (NotificationHandleResult<Message, Boolean> resultA : resultList1) { success = resultA.getData(); if (!resultA.getData()) { break; } } if (logger.isInfoEnabled()) { logger.info("\n\t\t|=======- The SQS message (ID : {}) result to handle is {}", message.getMessageId(), success); } if (success) { DeleteMessageResult deleteMessageResult = sqsService.deleteMessage(client, queueUrl, message); if (logger.isInfoEnabled()) { logger.info( "\n\t\t\t\t\t\t<<======| [Delete SQS Message] The message (ID : {}) to delete result is {}\n", message.getMessageId(), deleteMessageResult); } } return true; } catch (Exception e) { if (logger.isErrorEnabled()) { logger.error(e.getMessage(), e); } } finally { //???????? executorService.shutdown(); } } } catch (Exception e) { if (logger.isErrorEnabled()) { logger.error(e.getMessage(), e); } } return false; }
From source file:com.easarrive.image.thumbor.executer.service.impl.SQSNotificationHandlerForThumbor.java
License:Open Source License
@Override public List<NotificationHandleResult<Message, Boolean>> handle(Message message) throws AWSPluginException { String messageId = null;/*from w w w. j a va2 s.co m*/ try { if (message == null) { throw new AWSPluginException("The message is null"); } messageId = message.getMessageId(); S3EventMessageContent messageContent = this.getMessageContent(message.getBody()); if (messageContent == null) { throw new AWSPluginException("The S3EventMessageContent is null"); } //??? return this.ergodicS3EventMessageRecord(message, messageContent); } catch (Exception e) { String errorMessage = String.format("Handle exception {%s} for messge (ID : %s)", e.getMessage(), messageId); throw new AWSPluginException(errorMessage, e); } }
From source file:com.erudika.para.queue.AWSQueueUtils.java
License:Apache License
/** * Pulls a number of messages from an SQS queue. * @param queueURL the URL of the SQS queue * @param numberOfMessages the number of messages to pull * @return a list of messages//w w w .java 2 s. com */ public static List<String> pullMessages(String queueURL, int numberOfMessages) { List<String> messages = new ArrayList<String>(); if (!StringUtils.isBlank(queueURL)) { try { int batchSteps = 1; int maxForBatch = numberOfMessages; if ((numberOfMessages > MAX_MESSAGES)) { batchSteps = (numberOfMessages / MAX_MESSAGES) + ((numberOfMessages % MAX_MESSAGES > 0) ? 1 : 0); maxForBatch = MAX_MESSAGES; } for (int i = 0; i < batchSteps; i++) { List<Message> list = getClient().receiveMessage(new ReceiveMessageRequest(queueURL) .withMaxNumberOfMessages(maxForBatch).withWaitTimeSeconds(POLLING_INTERVAL)) .getMessages(); if (list != null && !list.isEmpty()) { List<DeleteMessageBatchRequestEntry> del = new ArrayList<DeleteMessageBatchRequestEntry>(); for (Message msg : list) { messages.add(msg.getBody()); del.add(new DeleteMessageBatchRequestEntry(msg.getMessageId(), msg.getReceiptHandle())); } getClient().deleteMessageBatch(queueURL, del); } } } catch (AmazonServiceException ase) { logException(ase); } catch (AmazonClientException ace) { logger.error("Could not reach SQS. {}", ace.toString()); } } return messages; }