Example usage for com.amazonaws.services.sqs.model DeleteMessageRequest DeleteMessageRequest

List of usage examples for com.amazonaws.services.sqs.model DeleteMessageRequest DeleteMessageRequest

Introduction

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

Prototype

public DeleteMessageRequest() 

Source Link

Document

Default constructor for DeleteMessageRequest object.

Usage

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()));
            }
        }
    }
}