List of usage examples for com.amazonaws.services.sqs.model Message getBody
public String getBody()
The message's contents (not URL-encoded).
From source file:com.comcast.cqs.controller.CQSQueueMessagesPageServlet.java
License:Apache License
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { if (redirectUnauthenticatedUser(request, response)) { return;/* w w w .j a v a 2 s . com*/ } CMBControllerServlet.valueAccumulator.initializeAllCounters(); response.setContentType("text/html"); PrintWriter out = response.getWriter(); String userId = request.getParameter("userId"); String queueName = request.getParameter("queueName"); String msgStr = request.getParameter("message"); String prevHandle = request.getParameter("prevHandle"); String nextHandle = request.getParameter("nextHandle"); String receiptHandle = request.getParameter("receiptHandle"); Map<?, ?> parameters = request.getParameterMap(); Message receivedMessage = null; int shard = 0; if (request.getParameter("shard") != null) { shard = Integer.parseInt(request.getParameter("shard")); } String queueUrl = Util.getAbsoluteQueueUrlForName(queueName, userId); connect(request); if (parameters.containsKey("Send")) { try { SendMessageRequest sendMessageRequest = new SendMessageRequest(queueUrl, msgStr); sqs.sendMessage(sendMessageRequest); logger.debug("event=send_message queue_url= " + queueUrl + " user_id=" + userId); } catch (Exception ex) { logger.error("event=send_message queue_url= " + queueUrl + " user_id=" + userId, ex); throw new ServletException(ex); } } else if (parameters.containsKey("Delete")) { try { DeleteMessageRequest deleteMessageRequest = new DeleteMessageRequest(queueUrl, receiptHandle); sqs.deleteMessage(deleteMessageRequest); logger.debug("event=delete_message queue_url= " + queueUrl + " receipt_handle=" + receiptHandle); } catch (Exception ex) { logger.error("event=delete_message queue_url= " + queueUrl + " receipt_handle=" + receiptHandle, ex); throw new ServletException(ex); } } else if (parameters.containsKey("Receive")) { try { ReceiveMessageResult result = sqs.receiveMessage(new ReceiveMessageRequest(queueUrl)); logger.debug("event=receive_message queue_url= " + queueUrl + " user_id=" + userId); List<Message> receivedMessages = null; if (result != null) { receivedMessages = result.getMessages(); if (receivedMessages != null && receivedMessages.size() > 0) { receivedMessage = receivedMessages.get(0); } } } catch (Exception ex) { logger.error("event=receive_message queue_url= " + queueUrl + " user_id=" + userId, ex); throw new ServletException(ex); } } int numberOfShards = 1; try { GetQueueAttributesRequest getQueueAttributesRequest = new GetQueueAttributesRequest(queueUrl); getQueueAttributesRequest.setAttributeNames(Arrays.asList("NumberOfShards")); GetQueueAttributesResult getQueueAttributesResult = sqs.getQueueAttributes(getQueueAttributesRequest); Map<String, String> attributes = getQueueAttributesResult.getAttributes(); numberOfShards = Integer.parseInt(attributes.get("NumberOfShards")); } catch (Exception ex) { logger.error("event=get_queue_attributes url=" + queueUrl); } out.println("<html>"); out.println("<script type='text/javascript' language='javascript'>"); out.println("function setVisibility(id, buttonid) {"); out.println("if(document.getElementById(buttonid).value=='Less'){"); out.println("document.getElementById(buttonid).value = 'More';"); out.println("document.getElementById(id).style.display = 'none';"); out.println("}else{"); out.println("document.getElementById(buttonid).value = 'Less';"); out.println("document.getElementById(id).style.display = 'inline';"); out.println("}"); out.println("}"); out.println("</script>"); header(request, out, "Peek Messages for Queue " + queueName); out.println("<body>"); out.println("<h2>Peek Messages for Queue " + queueName + "</h2>"); if (user != null) { out.println("<table><tr><td><b>User Name:</b></td><td>" + user.getUserName() + "</td></tr>"); out.println("<tr><td><b>User ID:</b></td><td>" + user.getUserId() + "</td></tr>"); out.println("<tr><td><b>Access Key:</b></td><td>" + user.getAccessKey() + "</td></tr>"); out.println("<tr><td><b>Access Secret:</b></td><td>" + user.getAccessSecret() + "</td></tr>"); out.println("<tr><td><b>Queue Name:</b></td><td>" + queueName + "</td></tr></table>"); } out.println("<p><table><tr><td><b>Send message:</b></td><td></td></tr>"); out.println("<form id='frm1' action=\"/webui/cqsuser/message/?userId=" + userId + "&queueName=" + queueName + "\" method=POST>"); out.println( "<tr><td><textarea rows='3' cols='50' name='message'></textarea><input type='hidden' name='userId' value='" + userId + "'></td><td valign='bottom'><input type='submit' value='Send' name='Send' /></td></tr></form>"); out.println("<tr><td> </td></tr>"); if (numberOfShards > 1) { out.println("<form id='frm2' action=\"/webui/cqsuser/message/?userId=" + userId + "&queueName=" + queueName + "\" method=POST>"); out.println( "<tr><td>Shard: <select name='shard' onChange='document.getElementById(\"frm2\").submit();'>"); for (int i = 0; i < numberOfShards; i++) { out.print("<option value='" + i + "'"); if (shard == i) { out.print(" selected"); } out.println(">" + i + "</option>"); } out.println("</form></select></td></tr></table></p>"); } else { out.println("</table></p>"); } // for receive message out.println("<form id='formsendmessage' action=\"/webui/cqsuser/message/?userId=" + userId + "&queueName=" + queueName + "\" method=POST>"); out.println("<table><tr><td><b>Receive Message:</b></td>"); out.println("<td><input type='hidden' name='userId' value='" + userId + "'></td><td valign='bottom'><input type='submit' value='Receive Message' name='Receive' /></td>"); out.println("</form></tr></table>"); // showing received message out.println("<p><hr width='100%' align='left' /><p>"); out.println("<h3>Received Messages</h3>"); if (receivedMessage != null) { Map<String, String> attributes = receivedMessage.getAttributes(); String timeSent = ""; if (attributes.get("SentTimestamp") != null) { try { timeSent = new Date(Long.parseLong(attributes.get("SentTimestamp"))).toString(); } catch (Exception ex) { } } String timeReceived = ""; if (attributes.get("ApproximateFirstReceiveTimestamp") != null) { try { timeReceived = new Date(Long.parseLong(attributes.get("ApproximateFirstReceiveTimestamp"))) .toString(); } catch (Exception ex) { } } out.println("<table class = 'alternatecolortable'>"); out.println( "<tr><th></th><th>Receipt Handle</th><th>MD5</th><th>Body</th><th>Time Sent</th><th>Time First Received (Appr.)</th><th>Receive Count (Appr.)</th><th>Sender</th><th> </th></tr>"); out.println("<tr>"); out.println("<td>0</td>"); out.println("<td>" + receivedMessage.getReceiptHandle() + "</td>"); out.println("<td>" + receivedMessage.getMD5OfBody() + "</td>"); String messageBody = receivedMessage.getBody(); String messageBodyPart1 = null; String messageBodyPart2 = null; if ((messageBody != null) && (messageBody.length() > 300)) { messageBodyPart1 = messageBody.substring(0, 299); messageBodyPart2 = messageBody.substring(299); out.println("<td>"); out.println(messageBodyPart1); out.println("<div id='rdetail' style=\"display: none;\">" + messageBodyPart2 + "</div>"); out.println( "<input type=button name=type id='rbt' value='More' onclick=\"setVisibility('rdetail', 'rbt');\";> "); out.println("</td>"); } else { out.println("<td>" + receivedMessage.getBody() + "</td>"); } out.println("<td>" + timeSent + "</td>"); out.println("<td>" + timeReceived + "</td>"); out.println("<td>" + attributes.get("ApproximateReceiveCount") + "</td>"); out.println("<td>" + attributes.get("SenderId") + "</td>"); out.println("<td><form action=\"/webui/cqsuser/message/?userId=" + user.getUserId() + "&queueName=" + queueName + "&receiptHandle=" + receivedMessage.getReceiptHandle() + "\" method=POST><input type='submit' value='Delete' name='Delete'/><input type='hidden' name='queueUrl' value='" + queueUrl + "' /></form></td></tr>"); out.println("</table>"); } else { out.println("<p><i>no messages</i></p>"); } List<CQSMessage> availableMessages = null; String queueFirstMessageHandle = null; try { if (queueUrl != null) { String peekRequestUrl = cqsServiceBaseUrl + user.getUserId() + "/" + queueName + "?Action=PeekMessage&AWSAccessKeyId=" + user.getAccessKey() + "&MaxNumberOfMessages=10&Shard=" + shard; if (prevHandle != null) { peekRequestUrl += "&PreviousReceiptHandle=" + prevHandle; } else if (nextHandle != null) { peekRequestUrl += "&NextReceiptHandle=" + nextHandle; } AWSCredentials awsCredentials = new BasicAWSCredentials(user.getAccessKey(), user.getAccessSecret()); String peekXml = httpPOST(cqsServiceBaseUrl, peekRequestUrl, awsCredentials); Element root = XmlUtil.buildDoc(peekXml); List<Element> messageElements = XmlUtil.getCurrentLevelChildNodes( XmlUtil.getCurrentLevelChildNodes(root, "ReceiveMessageResult").get(0), "Message"); for (Element messageElement : messageElements) { if (availableMessages == null) { availableMessages = new ArrayList<CQSMessage>(); } String body = XmlUtil.getCurrentLevelTextValue(messageElement, "Body"); String id = XmlUtil.getCurrentLevelTextValue(messageElement, "MessageId").trim(); String handle = XmlUtil.getCurrentLevelTextValue(messageElement, "ReceiptHandle").trim(); CQSMessage msg = new CQSMessage(id, body); msg.setReceiptHandle(handle); List<Element> attributeElements = XmlUtil.getCurrentLevelChildNodes(messageElement, "Attribute"); Map<String, String> attributes = new HashMap<String, String>(); for (Element attribute : attributeElements) { String name = XmlUtil.getCurrentLevelTextValue(attribute, "Name"); String value = XmlUtil.getCurrentLevelTextValue(attribute, "Value"); if (name != null && value != null) { attributes.put(name, value); } } msg.setAttributes(attributes); availableMessages.add(msg); } //retrieve first messageId from queue. this is for pagination String peekRequestFirstMessageUrl = cqsServiceBaseUrl + user.getUserId() + "/" + queueName + "?Action=PeekMessage&AWSAccessKeyId=" + user.getAccessKey() + "&MaxNumberOfMessages=1&Shard=" + shard; String peekFirstMessageXml = httpPOST(cqsServiceBaseUrl, peekRequestFirstMessageUrl, awsCredentials); Element rootFirstMessage = XmlUtil.buildDoc(peekFirstMessageXml); List<Element> messageElementsForFirstMessage = XmlUtil.getCurrentLevelChildNodes( XmlUtil.getCurrentLevelChildNodes(rootFirstMessage, "ReceiveMessageResult").get(0), "Message"); if (messageElementsForFirstMessage.size() == 1) { queueFirstMessageHandle = XmlUtil .getCurrentLevelTextValue(messageElementsForFirstMessage.get(0), "ReceiptHandle") .trim(); } } } catch (Exception ex) { logger.error("event=peek_message queue_url=" + queueUrl, ex); throw new ServletException(ex); } String previousHandle = null; nextHandle = null; out.println("<p><hr width='100%' align='left' /><p>"); out.println("<h3>Available Messages</h3>"); if ((availableMessages == null) || (availableMessages.size() == 0)) { out.println("<p><i>no messages</i></p>"); } for (int i = 0; availableMessages != null && i < availableMessages.size(); i++) { CQSMessage message = availableMessages.get(i); Map<String, String> attributes = message.getAttributes(); String timeSent = ""; if (attributes.get("SentTimestamp") != null) { try { timeSent = new Date(Long.parseLong(attributes.get("SentTimestamp"))).toString(); } catch (Exception ex) { } } String timeReceived = ""; if (attributes.get("ApproximateFirstReceiveTimestamp") != null) { try { timeReceived = new Date(Long.parseLong(attributes.get("ApproximateFirstReceiveTimestamp"))) .toString(); } catch (Exception ex) { } } if (i == 0) { out.println("<table class = 'alternatecolortable'>"); out.println( "<tr><th></th><th>Receipt Handle</th><th>MD5</th><th>Body</th><th>Time Sent</th><th>Time First Received (Appr.)</th><th>Receive Count (Appr.)</th><th>Sender</th><th> </th></tr>"); previousHandle = message.getReceiptHandle(); } out.println("<tr>"); out.println("<td>" + i + "</td>"); out.println("<td>" + message.getReceiptHandle() + "</td>"); out.println("<td>" + message.getMD5OfBody() + "</td>"); String messageBody = message.getBody(); String messageBodyPart1 = null; String messageBodyPart2 = null; if ((messageBody != null) && (messageBody.length() > 300)) { messageBodyPart1 = messageBody.substring(0, 299); messageBodyPart2 = messageBody.substring(299); out.println("<td>"); out.println(messageBodyPart1); out.println("<div id='detail" + i + "' style=\"display: none;\">" + messageBodyPart2 + "</div>"); out.println("<input type=button name=type id='bt" + i + "' value='More' onclick=\"setVisibility('detail" + i + "', 'bt" + i + "');\";> "); out.println("</td>"); } else { out.println("<td>" + message.getBody() + "</td>"); } out.println("<td>" + timeSent + "</td>"); out.println("<td>" + timeReceived + "</td>"); out.println("<td>" + attributes.get("ApproximateReceiveCount") + "</td>"); out.println("<td>" + attributes.get("SenderId") + "</td>"); out.println("<td></td></tr>"); if (i == availableMessages.size() - 1) { nextHandle = message.getReceiptHandle(); } } out.println("</table>"); //This case is for click on "Next" button of the previous page if (prevHandle != null) { if ((previousHandle) != null) { out.println("<a style='float:left;' href='/webui/cqsuser/message/?userId=" + user.getUserId() + "&queueName=" + queueName + "&nextHandle=" + previousHandle + "'>Prev</a>"); } else { out.println("<a style='float:left;' href='javascript:history.back()'>Prev</a>"); } } else if ((previousHandle != null) && (!previousHandle.equals(queueFirstMessageHandle))) { //this is for all other cases out.println("<a style='float:left;' href='/webui/cqsuser/message/?userId=" + user.getUserId() + "&queueName=" + queueName + "&nextHandle=" + previousHandle + "'>Prev</a>"); } if (availableMessages != null && availableMessages.size() > 0) { out.println("<a style='float:right;' href='/webui/cqsuser/message/?userId=" + user.getUserId() + "&queueName=" + queueName + "&prevHandle=" + nextHandle + "'>Next</a>"); } out.println("<h5 style='text-align:center;'><a href='/webui'>ADMIN HOME</a>"); out.println("<a href='/webui/cqsuser?userId=" + userId + "'>BACK TO QUEUE</a></h5>"); out.println("</body></html>"); CMBControllerServlet.valueAccumulator.deleteAllCounters(); }
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.dateofrock.aws.simplesqs.JobConsumer.java
License:Apache License
public void consume(Class<? extends AbstractJobTicket> clazz) { String queueName = this.reflector.findQueueName(clazz); GetQueueUrlResult result = this.sqs.getQueueUrl(new GetQueueUrlRequest(queueName)); String queueUrl = result.getQueueUrl(); ReceiveMessageResult receivedMessage = this.sqs.receiveMessage( new ReceiveMessageRequest(queueUrl).withMaxNumberOfMessages(this.maxNumberOfMessages)); List<Message> messages = receivedMessage.getMessages(); for (Message message : messages) { String jobId = message.getBody(); String receiptHandle = message.getReceiptHandle(); AbstractJobTicket jobTicket = null; try {//from www . jav a 2s . c om jobTicket = this.sdbMapper.load(clazz, jobId); jobTicket.receiptHandle = receiptHandle; } catch (SimpleDBMapperNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); // FIXME Message?? this.sqs.deleteMessage(new DeleteMessageRequest(queueUrl, receiptHandle)); return; } Status currentStatus = Status.fromJobTicket(jobTicket); switch (currentStatus) { case WAITING: jobTicket.status = Status.IN_PROGRESS.getValue(); jobTicket.updatedAt = new Date(); this.sdbMapper.save(jobTicket); try { // jobTicket.execute(); } catch (Exception e) { // StackTrace? StringWriter writer = new StringWriter(); PrintWriter printWriter = new PrintWriter(writer); e.printStackTrace(printWriter); printWriter.flush(); printWriter.close(); try { writer.close(); } catch (IOException ignore) { } jobTicket.exceptionStackTrace = writer.toString(); jobTicket.status = Status.FAILURE.getValue(); jobTicket.updatedAt = new Date(); this.sdbMapper.save(jobTicket); break; } jobTicket.status = Status.SUCCESS.getValue(); jobTicket.updatedAt = new Date(); this.sdbMapper.save(jobTicket); break; case IN_PROGRESS: jobTicket.processIfInProgress(); break; case SUCCESS: break; case FAILURE: break; default: break; } } }
From source file:com.dxc.temp.SimpleQueueServiceSample.java
License:Open Source License
public static void main(String[] args) throws Exception { BasicConfigurator.configure();/* w ww .j a v a 2 s .c o m*/ /* * 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}/* w w w. ja va 2 s .co m*/ */ @Override public boolean isSignatureMessageValid(Message message) { if (message == null) { return false; } String md5MessageBody = message.getMD5OfBody(); if (StringUtil.isEmpty(md5MessageBody)) { return false; } String messageBody = message.getBody(); try { return md5MessageBody.equals(DigestUtils.md5Hex(messageBody)); } catch (Exception 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;/* w w w .j ava 2 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 . j a v a2 s.c om */ 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; }
From source file:com.espressologic.aws.sqs.SqsAmazonService.java
License:Open Source License
public static String readMessage(String messageID) { // Receive messages AmazonSQS sqs = createAWSCredentials(); System.out.println("Receiving messages from " + myQueueUrl + ".\n"); ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest(myQueueUrl); List<Message> messages = sqs.receiveMessage(receiveMessageRequest).getMessages(); StringBuffer sb = new StringBuffer(); sb.append("["); String sep = ""; String receipt = null;//from www. j av a 2 s . co m for (Message message : messages) { if (message.getMessageId().equals(messageID)) { displayMessageContent(message); sb.append(sep); sb.append("\"message\" :"); sb.append(message.getBody()); if ("".equals(sep)) sep = ","; receipt = message.getReceiptHandle(); deleteMessages(receipt); } } sb.append("]"); System.out.println(); return sb.toString(); }
From source file:com.espressologic.aws.sqs.SqsAmazonService.java
License:Open Source License
private static void displayMessageContent(Message message) { 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()); }// w w w .j a va2s . com }
From source file:com.github.gregwhitaker.sns.Consumer.java
License:Apache License
@Override public void run() { String queueName = queueArn.substring(queueArn.lastIndexOf(":") + 1); String queueUrl = sqsClient.getQueueUrl(queueName).getQueueUrl(); while (true) { ReceiveMessageResult result = sqsClient.receiveMessage(queueUrl); List<Message> messages = result.getMessages(); if (messages != null && !messages.isEmpty()) { for (Message message : messages) { try { SnsMessage parsedMessage = mapper.readerFor(SnsMessage.class).readValue(message.getBody()); System.out.println(name + ": " + parsedMessage.getMessage()); } catch (IOException e) { e.printStackTrace(); } finally { // Acknowledge the message so that it will not be redelivered sqsClient.deleteMessage(queueUrl, message.getReceiptHandle()); }/* w w w .ja va2s . c om*/ } } else { try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } }