Example usage for com.amazonaws.services.sqs.model Message getMD5OfBody

List of usage examples for com.amazonaws.services.sqs.model Message getMD5OfBody

Introduction

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

Prototype


public String getMD5OfBody() 

Source Link

Document

An MD5 digest of the non-URL-encoded message body string.

Usage

From source file:whgHelper.java

License:Open Source License

public static void printMessage(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());
    System.out.println();/*from  www.  j a v a2  s  . c om*/
}

From source file:AwsSQSDemo.java

License:Open Source License

public static void main(String[] args) throws Exception {

    /*/*from  ww  w.  ja  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);
    }

    AmazonSQS sqs = new AmazonSQSClient(credentials);
    Region usWest2 = Region.getRegion(Regions.US_WEST_2);
    sqs.setRegion(usWest2);

    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, "This is my message 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 messageRecieptHandle = messages.get(0).getReceiptHandle();
        sqs.deleteMessage(new DeleteMessageRequest(myQueueUrl, messageRecieptHandle));

        // Delete a queue
        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:kinesisAlertAnalysis.java

License:Open Source License

public static void main(String[] args) throws Exception {

    init();//from   w w w  .ja  va  2s .  c o  m

    final String myStreamName = "alertsStream";
    final Integer myStreamSize = 1;

    /*
     * The ProfileCredentialsProvider will return your [awsReilly]
     * credential profile by reading from the credentials file located at
     * (/Users/johnreilly/.aws/credentials).
     */
    AWSCredentials credentials = null;
    try {
        credentials = new ProfileCredentialsProvider("jreilly").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 (/Users/johnreilly/.aws/credentials), and is in valid format.", e);
    }

    // Describe the stream and check if it exists.
    DescribeStreamRequest describeStreamRequest = new DescribeStreamRequest().withStreamName(myStreamName);
    try {
        StreamDescription streamDescription = kinesis.describeStream(describeStreamRequest)
                .getStreamDescription();
        System.out.printf("Stream %s has a status of %s.\n", myStreamName, streamDescription.getStreamStatus());

        if ("DELETING".equals(streamDescription.getStreamStatus())) {
            System.out.println("Stream is being deleted. This sample will now exit.");
            System.exit(0);
        }

        // Wait for the stream to become active if it is not yet ACTIVE.
        if (!"ACTIVE".equals(streamDescription.getStreamStatus())) {
            waitForStreamToBecomeAvailable(myStreamName);
        }
    } catch (ResourceNotFoundException ex) {
        System.out.printf("Stream %s does not exist. Creating it now.\n", myStreamName);

        // Create a stream. The number of shards determines the provisioned throughput.
        CreateStreamRequest createStreamRequest = new CreateStreamRequest();
        createStreamRequest.setStreamName(myStreamName);
        createStreamRequest.setShardCount(myStreamSize);
        kinesis.createStream(createStreamRequest);
        // The stream is now being created. Wait for it to become active.
        waitForStreamToBecomeAvailable(myStreamName);
    }

    // List all of my streams.
    ListStreamsRequest listStreamsRequest = new ListStreamsRequest();
    listStreamsRequest.setLimit(10);
    ListStreamsResult listStreamsResult = kinesis.listStreams(listStreamsRequest);
    List<String> streamNames = listStreamsResult.getStreamNames();
    while (listStreamsResult.isHasMoreStreams()) {
        if (streamNames.size() > 0) {
            listStreamsRequest.setExclusiveStartStreamName(streamNames.get(streamNames.size() - 1));
        }

        listStreamsResult = kinesis.listStreams(listStreamsRequest);
        streamNames.addAll(listStreamsResult.getStreamNames());
    }
    // Print all of my streams.
    System.out.println("List of my streams: ");
    for (int i = 0; i < streamNames.size(); i++) {
        System.out.println("\t- " + streamNames.get(i));
    }

    AmazonSQS sqs = new AmazonSQSClient(credentials);
    Region usEast1 = Region.getRegion(Regions.US_EAST_1);
    sqs.setRegion(usEast1);

    System.out.println("");
    System.out.println("===========================================");
    System.out.println("Getting Started with sqsAlertCache");
    System.out.println("===========================================\n");

    try {

        String thisQueue = "alertCache";
        String nextQueue = "alertReceive";

        // Receive messages
        System.out.println("Receiving messages from " + thisQueue + ".");
        ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest(thisQueue);
        List<Message> messages = sqs.receiveMessage(receiveMessageRequest).getMessages();
        System.out.println("Message count for " + thisQueue + ": " + messages.size() + "\n");

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

            // Write record to the stream
            long createTime = System.currentTimeMillis();
            PutRecordRequest putRecordRequest = new PutRecordRequest();
            putRecordRequest.setStreamName(myStreamName);
            putRecordRequest.setData(ByteBuffer.wrap(String.format(message.getBody(), createTime).getBytes()));
            putRecordRequest.setPartitionKey(String.format("partitionKey-%d", createTime));
            PutRecordResult putRecordResult = kinesis.putRecord(putRecordRequest);
            System.out.printf(
                    "Successfully put record, partition key : %s, ShardID : %s, SequenceNumber : %s.\n",
                    putRecordRequest.getPartitionKey(), putRecordResult.getShardId(),
                    putRecordResult.getSequenceNumber());

            // then send message to cache queue
            System.out.println("Sending messages to next queue.");
            sqs.sendMessage(new SendMessageRequest(nextQueue, message.getBody()));

            // delete message after sending to persist queue
            System.out.println("Deleting message from this queue.\n");
            String messageRecieptHandle = message.getReceiptHandle();
            sqs.deleteMessage(new DeleteMessageRequest(thisQueue, messageRecieptHandle));
        }

    } 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:SimpleQueueServiceSample.java

License:Open Source License

public static void main(String[] args) throws Exception {

    /*//www. j  a v  a  2s .co m
     * The ProfileCredentialsProvider will return your [default]
     * credential profile by reading from the credentials file located at
     * (/Users/zunzunwang/.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. "
                + "Please make sure that your credentials file is at the correct "
                + "location (/Users/zunzunwang/.aws/credentials), and is in valid format.", e);
    }

    AmazonSQS sqs = new AmazonSQSClient(credentials);
    Region usWest2 = Region.getRegion(Regions.EU_CENTRAL_1);
    sqs.setRegion(usWest2);

    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, "This is my message 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(10).getReceiptHandle();
        sqs.deleteMessage(new DeleteMessageRequest(myQueueUrl, messageReceiptHandle));

        // Delete a queue
        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:sqsAlertReceive.java

License:Open Source License

public static void main(String[] args) throws Exception {

    /*/*from  w  w w.j  a  v a2s.  c o  m*/
     * The ProfileCredentialsProvider will return your [awsReilly]
     * credential profile by reading from the credentials file located at
     * (/Users/johnreilly/.aws/credentials).
     */
    AWSCredentials credentials = null;
    try {
        credentials = new ProfileCredentialsProvider("awsReilly").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 (/Users/johnreilly/.aws/credentials), and is in valid format.", e);
    }

    AmazonSQS sqs = new AmazonSQSClient(credentials);
    Region usEast1 = Region.getRegion(Regions.US_EAST_1);
    sqs.setRegion(usEast1);
    String testQueue = "reillyInbound001";

    System.out.println("");
    System.out.println("===========================================");
    System.out.println("Getting Started with sqsAlertReceive");
    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.");
        for (String queueUrl : sqs.listQueues().getQueueUrls()) {
            System.out.println("QueueUrl: " + queueUrl);
        }
        System.out.println();

        // Receive messages
        System.out.println("Receiving messages from " + testQueue + ".");
        ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest(testQueue);
        List<Message> messages = sqs.receiveMessage(receiveMessageRequest).getMessages();
        System.out.println("Message count for " + testQueue + ": " + messages.size() + "\n");

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

            // call a function to transform message
            // then send message to database persist queue

            System.out.println("Sending messages to alertsPersist.\n");
            sqs.sendMessage(new SendMessageRequest("alertPersist", message.getBody()));

            // delete message after sending to persist queue
            System.out.println("Deleting message.\n");
            String messageRecieptHandle = message.getReceiptHandle();
            sqs.deleteMessage(new DeleteMessageRequest(testQueue, messageRecieptHandle));

        }

    } 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:TweetSQS.java

License:Open Source License

public static void main(String[] args) throws Exception {

    /*//from  w  w  w. ja va2 s  . co  m
     * The ProfileCredentialsProvider will return your [default]
     * credential profile by reading from the credentials file located at
     * ().
     */
    AWSCredentials credentials = null;
    try {
        credentials = new PropertiesCredentials(
                TweetSQS.class.getResourceAsStream("AwsCredentials.properties"));
    } 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 (/Users/aohong/.aws/credentials), and is in valid format.", e);
    }

    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, "This is my first message 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 messageRecieptHandle = messages.get(0).getReceiptHandle();
        sqs.deleteMessage(new DeleteMessageRequest(myQueueUrl, messageRecieptHandle));

        // Delete a queue
        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:aws.sample.SimpleQueueServiceSample.java

License:Open Source License

public static void main(String[] args) throws Exception {
    /*//from  www.ja v  a 2  s.co m
     * Important: Be sure to fill in your AWS access credentials in the AwsCredentials.properties file before you try to run this sample. http://aws.amazon.com/security-credentials
     */
    AmazonSQS sqs = new AmazonSQSClient(new PropertiesCredentials(
            SimpleQueueServiceSample.class.getResourceAsStream("/AwsCredentials.properties")));

    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, "This is my message 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 messageRecieptHandle = messages.get(0).getReceiptHandle();
        sqs.deleteMessage(new DeleteMessageRequest(myQueueUrl, messageRecieptHandle));

        // Delete a queue
        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:awslabs.lab31.Lab31.java

License:Open Source License

private static void PrintAndRemoveMessagesInResponse(AmazonSQSClient sqsClient, List<Message> messages,
        String queueUrl) {//from  w  w  w .  j  ava2  s. c  o m

    for (Message message : messages) {

        System.out.println("\nQueue Message:");

        System.out.println("\tMessageId : " + message.getMessageId());
        System.out.println("\tMD5OfBody : " + message.getMD5OfBody());
        System.out.println("\tBody : " + message.getBody());

        if (message.getAttributes().size() > 0) {
            System.out.println("\tMessage Attributes");

            for (Entry<String, String> entry : message.getAttributes().entrySet()) {
                System.out.println("\t\t" + entry.getKey() + " : " + entry.getValue());
            }
        }

        System.out.println("\nDeleting message.");
        labCode.removeMessage(sqsClient, queueUrl, message.getReceiptHandle());
        System.out.println("Message deleted.");
    }
}

From source file:Cloud.Tweets.SimpleQueueServiceSample.java

License:Open Source License

public void getTweets(AmazonSQS abc) {
    ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest(myQueueUrl);
    List<Message> messages = abc.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());
        }/*from  w ww .  j a v a2 s  . com*/

        String messageRecieptHandle = messages.get(0).getBody();
        System.out.println(messageRecieptHandle);
        getSentiment(messageRecieptHandle);
    }
}

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;/*from w w w. j ava 2  s  .c  om*/
    }

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