List of usage examples for com.amazonaws.services.sqs.model DeleteMessageRequest DeleteMessageRequest
public DeleteMessageRequest()
From source file:awslabs.lab31.SolutionCode.java
License:Open Source License
@Override public void removeMessage(AmazonSQSClient sqsClient, String queueUrl, String receiptHandle) { // TODO: Construct a DeleteMessageRequest object using the specified queue URL and receipt handle. DeleteMessageRequest deleteMessageRequest = new DeleteMessageRequest().withQueueUrl(queueUrl) .withReceiptHandle(receiptHandle); // TODO: Submit the request using the deleteMessage method of the sqsClient object. sqsClient.deleteMessage(deleteMessageRequest); }
From source file:com.amediamanager.scheduled.ElasticTranscoderTasks.java
License:Apache License
protected void deleteMessage(final Message message) { DeleteMessageRequest request = new DeleteMessageRequest() .withQueueUrl(config.getProperty(ConfigProps.TRANSCODE_QUEUE)) .withReceiptHandle(message.getReceiptHandle()); sqsClient.deleteMessage(request);//from www . ja v a2 s . c o m }
From source file:com.comcast.cmb.test.tools.CMBTutorial.java
License:Apache License
public static void main(String[] args) { try {/* www. ja v a 2s.c o m*/ Util.initLog4jTest(); //TODO: set user id and credentials for two distinct users // user "cqs_test_1" //BasicAWSCredentials user1Credentials = new BasicAWSCredentials("<access_key>", "<secret_key>"); BasicAWSCredentials user1Credentials = new BasicAWSCredentials("Z2DVBFRNZ2C2SSXDWS5F", "bH2UQiJkpctBaE3eaDob19fj5J9Q1FVafrZantBp"); // user "cqs_test_2" //String user2Id = "<user_id>"; String user2Id = "389653920093"; //BasicAWSCredentials user2Credentials = new BasicAWSCredentials("<access_key>", "<secret_key>"); BasicAWSCredentials user2Credentials = new BasicAWSCredentials("QL8Q1VOBCSJC5FZ2DMIU", "n6a82gyJZ04Z+Xqp7OgfqPtbbKqVc3UbuOTNrF+7"); // service urls //TODO: add service URLs //String cqsServerUrl = "http://<host>:<port>"; //String cnsServerUrl = "http://<host>:<port>"; String cqsServerUrl = "http://localhost:6059"; String cnsServerUrl = "http://localhost:6061"; // initialize service AmazonSQSClient sqs = new AmazonSQSClient(user1Credentials); sqs.setEndpoint(cqsServerUrl); AmazonSNSClient sns = new AmazonSNSClient(user2Credentials); sns.setEndpoint(cnsServerUrl); // create queue Random randomGenerator = new Random(); String queueName = QUEUE_PREFIX + randomGenerator.nextLong(); HashMap<String, String> attributeParams = new HashMap<String, String>(); CreateQueueRequest createQueueRequest = new CreateQueueRequest(queueName); createQueueRequest.setAttributes(attributeParams); String queueUrl = sqs.createQueue(createQueueRequest).getQueueUrl(); AddPermissionRequest addPermissionRequest = new AddPermissionRequest(); addPermissionRequest.setQueueUrl(queueUrl); addPermissionRequest.setActions(Arrays.asList("SendMessage")); addPermissionRequest.setLabel(UUID.randomUUID().toString()); addPermissionRequest.setAWSAccountIds(Arrays.asList(user2Id)); sqs.addPermission(addPermissionRequest); // create topic String topicName = "TSTT" + randomGenerator.nextLong(); CreateTopicRequest createTopicRequest = new CreateTopicRequest(topicName); CreateTopicResult createTopicResult = sns.createTopic(createTopicRequest); String topicArn = createTopicResult.getTopicArn(); // subscribe and confirm cqs endpoint SubscribeRequest subscribeRequest = new SubscribeRequest(); String queueArn = getArnForQueueUrl(queueUrl); subscribeRequest.setEndpoint(queueArn); subscribeRequest.setProtocol("cqs"); subscribeRequest.setTopicArn(topicArn); SubscribeResult subscribeResult = sns.subscribe(subscribeRequest); String subscriptionArn = subscribeResult.getSubscriptionArn(); if (subscriptionArn.equals("pending confirmation")) { Thread.sleep(500); ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest(); receiveMessageRequest.setQueueUrl(queueUrl); receiveMessageRequest.setMaxNumberOfMessages(1); ReceiveMessageResult receiveMessageResult = sqs.receiveMessage(receiveMessageRequest); List<Message> messages = receiveMessageResult.getMessages(); if (messages != null && messages.size() == 1) { JSONObject o = new JSONObject(messages.get(0).getBody()); if (!o.has("SubscribeURL")) { throw new Exception("message is not a confirmation messsage"); } String subscriptionUrl = o.getString("SubscribeURL"); httpGet(subscriptionUrl); DeleteMessageRequest deleteMessageRequest = new DeleteMessageRequest(); deleteMessageRequest.setReceiptHandle(messages.get(0).getReceiptHandle()); deleteMessageRequest.setQueueUrl(queueUrl); sqs.deleteMessage(deleteMessageRequest); } else { throw new Exception("no confirmation message found"); } } // publish and receive message PublishRequest publishRequest = new PublishRequest(); String messageText = "quamvis sint sub aqua, sub aqua maledicere temptant"; publishRequest.setMessage(messageText); publishRequest.setSubject("unit test message"); publishRequest.setTopicArn(topicArn); sns.publish(publishRequest); Thread.sleep(500); ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest(); receiveMessageRequest.setQueueUrl(queueUrl); receiveMessageRequest.setMaxNumberOfMessages(1); ReceiveMessageResult receiveMessageResult = sqs.receiveMessage(receiveMessageRequest); List<Message> messages = receiveMessageResult.getMessages(); if (messages != null && messages.size() == 1) { String messageBody = messages.get(0).getBody(); if (!messageBody.contains(messageText)) { throw new Exception("message text not found"); } DeleteMessageRequest deleteMessageRequest = new DeleteMessageRequest(); deleteMessageRequest.setReceiptHandle(messages.get(0).getReceiptHandle()); deleteMessageRequest.setQueueUrl(queueUrl); sqs.deleteMessage(deleteMessageRequest); } else { throw new Exception("no messages found"); } // subscribe and confirm http endpoint String id = randomGenerator.nextLong() + ""; String endPointUrl = CMBTestingConstants.HTTP_ENDPOINT_BASE_URL + "recv/" + id; String lastMessageUrl = CMBTestingConstants.HTTP_ENDPOINT_BASE_URL + "info/" + id + "?showLast=true"; subscribeRequest = new SubscribeRequest(); subscribeRequest.setEndpoint(endPointUrl); subscribeRequest.setProtocol("http"); subscribeRequest.setTopicArn(topicArn); subscribeResult = sns.subscribe(subscribeRequest); subscriptionArn = subscribeResult.getSubscriptionArn(); if (subscriptionArn.equals("pending confirmation")) { Thread.sleep(500); String response = httpGet(lastMessageUrl); JSONObject o = new JSONObject(response); if (!o.has("SubscribeURL")) { throw new Exception("message is not a confirmation messsage"); } String subscriptionUrl = o.getString("SubscribeURL"); response = httpGet(subscriptionUrl); } // publish and receive message publishRequest = new PublishRequest(); publishRequest.setMessage(messageText); publishRequest.setSubject("unit test message"); publishRequest.setTopicArn(topicArn); sns.publish(publishRequest); Thread.sleep(500); String response = httpGet(lastMessageUrl); if (response != null && response.length() > 0) { if (!response.contains(messageText)) { throw new Exception("message text not found"); } } else { throw new Exception("no messages found"); } // delete queue and topic DeleteTopicRequest deleteTopicRequest = new DeleteTopicRequest(topicArn); sns.deleteTopic(deleteTopicRequest); sqs.deleteQueue(new DeleteQueueRequest(queueUrl)); System.out.println("OK"); } catch (Exception ex) { ex.printStackTrace(); } }
From source file:com.netflix.suro.sink.notice.SQSNotice.java
License:Apache License
@Override public String recv() { ReceiveMessageRequest request = new ReceiveMessageRequest().withQueueUrl(queueUrls.get(0)) .withMaxNumberOfMessages(1); try {/*from w w w . j a v a2s . co m*/ ReceiveMessageResult result = sqsClient.receiveMessage(request); if (!result.getMessages().isEmpty()) { Message msg = result.getMessages().get(0); recvMessageCount.incrementAndGet(); DeleteMessageRequest deleteReq = new DeleteMessageRequest().withQueueUrl(queueUrls.get(0)) .withReceiptHandle(msg.getReceiptHandle()); sqsClient.deleteMessage(deleteReq); if (enableBase64Encoding) { return new String(Base64.decodeBase64(msg.getBody().getBytes()), Charsets.UTF_8); } else { return msg.getBody(); } } else { return ""; } } catch (Exception e) { log.error("Exception while recving SQS notice: " + e.getMessage(), e); return ""; } }
From source file:com.netflix.suro.sink.notice.SQSNotice.java
License:Apache License
@Override public void remove(String key) { DeleteMessageRequest deleteReq = new DeleteMessageRequest().withQueueUrl(queueUrls.get(0)) .withReceiptHandle(key);/* www.j a v a2 s . c o m*/ sqsClient.deleteMessage(deleteReq); }
From source file:org.apache.usergrid.apm.service.MetricsInjestionServiceSQSImpl.java
License:Apache License
protected void deleteMessageResults(List<ReceiveMessageResult> messageResults, String orgAppName) { //TODO: Definately want this to use asynchronous client due the the potentially thousands of // messages that might get queued up. for (ReceiveMessageResult messageResult : messageResults) { for (Message message : messageResult.getMessages()) { DeleteMessageRequest deleteMessageRequest = new DeleteMessageRequest(); deleteMessageRequest.setQueueUrl(AWSUtil.formFullQueueUrl(orgAppName)); deleteMessageRequest.setReceiptHandle(message.getReceiptHandle()); try { sqsClient.deleteMessage(deleteMessageRequest); } catch (RuntimeException ce) { log.error("Cannot delete message for application : " + orgAppName + ". Receipt Handle :" + message.getReceiptHandle(), ce); } catch (Exception e) { log.error("error deleting ", e); }/*from w w w . j a va 2 s. c o m*/ } } }
From source file:org.apache.usergrid.apm.service.MetricsInjestionServiceSQSImpl.java
License:Apache License
protected void purgeSQSQueue(List<ReceiveMessageResult> receiveMessageResults, String orgAppName) { int numDeletedMessages = 0; try {//from w w w . ja v a 2 s . c o m String qUrl = AWSUtil.formFullQueueUrl(orgAppName); for (ReceiveMessageResult receiveMessageResult : receiveMessageResults) { for (Message message : receiveMessageResult.getMessages()) { String receiptHandle = message.getReceiptHandle(); DeleteMessageRequest deleteMessageRequest = new DeleteMessageRequest(); deleteMessageRequest.setQueueUrl(qUrl); deleteMessageRequest.setReceiptHandle(receiptHandle); sqsClient.deleteMessage(deleteMessageRequest); numDeletedMessages++; } log.info("Deleted " + numDeletedMessages + " messages for application : " + orgAppName); } } catch (Exception e) { log.error("Problem deleting message from SQS for " + orgAppName + ". This needs to be immediately looked into", e); } }
From source file:org.apache.usergrid.persistence.queue.impl.SNSQueueManagerImpl.java
License:Apache License
@Override public void commitMessage(final LegacyQueueMessage queueMessage) { String url = getReadQueue().getUrl(); if (logger.isTraceEnabled()) { logger.trace("Commit message {} to queue {}", queueMessage.getMessageId(), url); }/*from w w w .j a va 2s . c om*/ sqs.deleteMessage(new DeleteMessageRequest().withQueueUrl(url).withReceiptHandle(queueMessage.getHandle())); }
From source file:org.duracloud.common.queue.aws.SQSTaskQueue.java
License:Apache License
@Override public void deleteTask(Task task) throws TaskNotFoundException { try {/*from w w w . j a v a 2 s.co m*/ sqsClient.deleteMessage(new DeleteMessageRequest().withQueueUrl(queueUrl) .withReceiptHandle(task.getProperty(MsgProp.RECEIPT_HANDLE.name()))); log.info("successfully deleted {}", task); } catch (ReceiptHandleIsInvalidException rhe) { log.error("failed to delete task " + task + ": " + rhe.getMessage(), rhe); throw new TaskNotFoundException(rhe); } }
From source file:org.nuxeo.aws.elastictranscoder.notification.SqsQueueNotificationWorker.java
License:Open Source License
@Override public void run() { ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest().withQueueUrl(queueUrl) .withMaxNumberOfMessages(MAX_NUMBER_OF_MESSAGES).withVisibilityTimeout(VISIBILITY_TIMEOUT) .withWaitTimeSeconds(WAIT_TIME_SECONDS); while (!shutdown) { // Long pole the SQS queue. This will return as soon as a message // is received, or when WAIT_TIME_SECONDS has elapsed. List<Message> messages = amazonSqs.receiveMessage(receiveMessageRequest).getMessages(); if (messages == null) { // If there were no messages during this poll period, SQS // will return this list as null. Continue polling. continue; }/*ww w .j a v a2 s.com*/ synchronized (handlers) { for (Message message : messages) { try { // Parse notification and call handlers. JobStatusNotification notification = parseNotification(message); for (JobStatusNotificationHandler handler : handlers) { handler.handle(notification); } } catch (IOException e) { System.out.println("Failed to convert notification: " + e.getMessage()); } // Delete the message from the queue. amazonSqs.deleteMessage(new DeleteMessageRequest().withQueueUrl(queueUrl) .withReceiptHandle(message.getReceiptHandle())); } } } }