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

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

Introduction

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

Prototype


public String getMessageId() 

Source Link

Document

A unique identifier for the message.

Usage

From source file:com.allogy.amazonaws.elasticbeanstalk.worker.simulator.application.WorkerApplication.java

License:Apache License

private HttpEntity<String> createHttpEntity(MessageWrapper messageWrapper, Message message) {
    String messageId = message.getMessageId();

    HttpHeaders headers = new HttpHeaders();
    headers.set("User-Agent", "aws-sqsd/1.1 (simulated bridge)");
    headers.set("X-Aws-Sqsd-Msgid", messageId);
    headers.set("X-Aws-Sqsd-Queue", messageWrapper.getQueueName());
    headers.set("X-Aws-Sqsd-Receive-Count", Integer.toString(messageWrapper.getMessageCount()));
    headers.setContentType(MediaType.APPLICATION_JSON);

    return new HttpEntity<>(message.getBody(), headers);
}

From source file:com.amazon.aws.demo.anonymous.sqs.SimpleQueue.java

License:Open Source License

public static List<String> recieveMessageIds(String queueUrl) {
    List<String> messageIds = new ArrayList<String>();
    ReceiveMessageRequest req = new ReceiveMessageRequest(queueUrl);
    lastRecievedMessages = getInstance().receiveMessage(req).getMessages();
    for (Message m : lastRecievedMessages) {
        messageIds.add(m.getMessageId().toString());
    }/*from   ww  w . j a va  2 s.c  o  m*/
    return messageIds;
}

From source file:com.amazon.sqs.javamessaging.AcknowledgerCommon.java

License:Open Source License

public void populateMessage(int populateMessageSize) throws JMSException {
    String queueUrl = baseQueueUrl + 0;
    for (int i = 0; i < populateMessageSize; i++) {
        // Change queueUrl depending on how many messages there are.
        if (i == 11) {
            queueUrl = baseQueueUrl + 1;
        } else if (i == 22) {
            queueUrl = baseQueueUrl + 2;
        } else if (i == 33) {
            queueUrl = baseQueueUrl + 3;
        } else if (i == 44) {
            queueUrl = baseQueueUrl + 4;
        }/*from w w  w.  j av  a 2  s.c  o m*/

        Message sqsMessage = mock(Message.class);
        when(sqsMessage.getReceiptHandle()).thenReturn("ReceiptHandle" + i);
        when(sqsMessage.getMessageId()).thenReturn("MessageId" + i);
        // Add mock Attributes
        Map<String, String> mockAttributes = new HashMap<String, String>();
        mockAttributes.put(SQSMessagingClientConstants.APPROXIMATE_RECEIVE_COUNT, "2");
        when(sqsMessage.getAttributes()).thenReturn(mockAttributes);

        SQSMessage message = (SQSMessage) new SQSTextMessage(acknowledger, queueUrl, sqsMessage);

        populatedMessages.add(message);
        acknowledger.notifyMessageReceived(message);
    }
    Assert.assertEquals(populateMessageSize, acknowledger.getUnAckMessages().size());
}

From source file:com.boundary.aws.sqs.Sample.java

License:Open Source License

public static void main(String[] args) throws Exception {
    String queueName = "boundary-sqs-demo-queue";

    /*/*from  ww w  .  j  av a  2  s  .  co  m*/
     * The ProfileCredentialsProvider will return your [default] credential
     * profile by reading from the credentials file located at
     * (HOME/.aws/credentials).
     */
    AWSCredentials credentials = null;
    try {
        credentials = new ProfileCredentialsProvider("default").getCredentials();
    } catch (Exception e) {
        throw new AmazonClientException("Cannot load the credentials from the credential profiles file. ", e);
    }

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

    try {
        // Create a queue
        System.out.printf("Creating queue: %s.\n", queueName);
        CreateQueueRequest createQueueRequest = new CreateQueueRequest(queueName);
        String myQueueUrl = sqs.createQueue(createQueueRequest).getQueueUrl();

        int messageCount = 100;

        // Send a messages
        for (int count = 1; count <= messageCount; count++) {
            System.out.printf("Sending message %3d to %s.\n", count, queueName);
            sqs.sendMessage(new SendMessageRequest(myQueueUrl, new Date() + ": This is my message text."));
        }

        for (int count = 1; count <= messageCount; count++) {

            ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest(myQueueUrl);
            List<Message> messages = sqs.receiveMessage(receiveMessageRequest).getMessages();
            for (Message msg : messages) {
                System.out.printf("Received message: %s queue: %s body: %s\n", msg.getMessageId(), queueName,
                        msg.getBody());
                System.out.printf("Deleting message: %s queue: %s\n", msg.getMessageId(), queueName);
                String messageRecieptHandle = msg.getReceiptHandle();
                sqs.deleteMessage(new DeleteMessageRequest(myQueueUrl, messageRecieptHandle));
            }
        }

        System.out.printf("Deleting queue: %s\n", queueName);
        sqs.deleteQueue(new DeleteQueueRequest(myQueueUrl));

    } catch (AmazonServiceException ase) {
        System.out.println("Caught an AmazonServiceException, which means your request made it "
                + "to Amazon SQS, but was rejected with an error response for some reason.");
        System.out.println("Error Message:    " + ase.getMessage());
        System.out.println("HTTP Status Code: " + ase.getStatusCode());
        System.out.println("AWS Error Code:   " + ase.getErrorCode());
        System.out.println("Error Type:       " + ase.getErrorType());
        System.out.println("Request ID:       " + ase.getRequestId());
    } catch (AmazonClientException ace) {
        System.out.println("Caught an AmazonClientException, which means the client encountered "
                + "a serious internal problem while trying to communicate with SQS, such as not "
                + "being able to access the network.");
        System.out.println("Error Message: " + ace.getMessage());
    }

    sqs.shutdown();
}

From source file:com.comcast.cqs.model.CQSMessage.java

License:Apache License

public CQSMessage(Message message) {

    this.messageId = message.getMessageId();
    this.receiptHandle = message.getReceiptHandle();
    this.body = message.getBody();
    this.mD5OfBody = message.getMD5OfBody();
}

From source file:com.dxc.temp.SimpleQueueServiceSample.java

License:Open Source License

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

    BasicConfigurator.configure();//from w ww.j a va2s.c  om

    /*
     * The ProfileCredentialsProvider will return your [default]
     * credential profile by reading from the credentials file located at
     * (~/.aws/credentials).
     */
    AWSCredentials credentials = null;
    try {
        credentials = new ProfileCredentialsProvider().getCredentials();
    } catch (Exception e) {
        throw new AmazonClientException("Cannot load the credentials from the credential profiles file. "
                + "Please make sure that your credentials file is at the correct "
                + "location (~/.aws/credentials), and is in valid format.", e);
    }
    System.out.println(String.format("Found AWSAccessKeyId: %s", credentials.getAWSAccessKeyId()));
    System.out.println(String.format("Found AWSAccessSecretKey: %s", credentials.getAWSSecretKey()));

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

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

    try {
        // Create a queue
        System.out.println("Creating a new SQS queue called MyQueue.\n");
        CreateQueueRequest createQueueRequest = new CreateQueueRequest("MyQueue");
        String myQueueUrl = sqs.createQueue(createQueueRequest).getQueueUrl();

        // List queues
        System.out.println("Listing all queues in your account.\n");
        for (String queueUrl : sqs.listQueues().getQueueUrls()) {
            System.out.println("  QueueUrl: " + queueUrl);
        }
        System.out.println();

        // Send a message
        System.out.println("Sending a message to MyQueue.\n");
        sqs.sendMessage(new SendMessageRequest(myQueueUrl, "Message body text"));

        // Receive messages
        System.out.println("Receiving messages from MyQueue.\n");
        ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest(myQueueUrl);
        List<Message> messages = sqs.receiveMessage(receiveMessageRequest).getMessages();
        for (Message message : messages) {
            System.out.println("  Message");
            System.out.println("    MessageId:     " + message.getMessageId());
            System.out.println("    ReceiptHandle: " + message.getReceiptHandle());
            System.out.println("    MD5OfBody:     " + message.getMD5OfBody());
            System.out.println("    Body:          " + message.getBody());
            for (Entry<String, String> entry : message.getAttributes().entrySet()) {
                System.out.println("  Attribute");
                System.out.println("    Name:  " + entry.getKey());
                System.out.println("    Value: " + entry.getValue());
            }
        }
        System.out.println();

        // Delete a message
        //            System.out.println("Deleting a message.\n");
        //            String messageReceiptHandle = messages.get(0).getReceiptHandle();
        //            sqs.deleteMessage(new DeleteMessageRequest(myQueueUrl, messageReceiptHandle));

        // Delete a queue
        // You must wait 60 seconds after deleting a queue before you can create another with the same name
        //            System.out.println("Deleting the test queue.\n");
        //            sqs.deleteQueue(new DeleteQueueRequest(myQueueUrl));
    } catch (AmazonServiceException ase) {
        System.out.println("Caught an AmazonServiceException, which means your request made it "
                + "to Amazon SQS, but was rejected with an error response for some reason.");
        System.out.println("Error Message:    " + ase.getMessage());
        System.out.println("HTTP Status Code: " + ase.getStatusCode());
        System.out.println("AWS Error Code:   " + ase.getErrorCode());
        System.out.println("Error Type:       " + ase.getErrorType());
        System.out.println("Request ID:       " + ase.getRequestId());
    } catch (AmazonClientException ace) {
        System.out.println("Caught an AmazonClientException, which means the client encountered "
                + "a serious internal problem while trying to communicate with SQS, such as not "
                + "being able to access the network.");
        System.out.println("Error Message: " + ace.getMessage());
    }
}

From source file:com.easarrive.aws.plugins.common.service.impl.SQSNotificationService.java

License:Open Source License

/**
 * {@inheritDoc}/* www  .ja  v a  2 s  .  c  o m*/
 */
@Override
public List<NotificationHandleResult<Message, Boolean>> handleNotification(Message message)
        throws AWSPluginException {
    try {
        if (message == null) {
            throw new AWSPluginException("The message is null");
        }
        if (notificationHandlerList == null) {
            throw new AWSPluginException("The notificationHandlerList is null for message (ID : %s)",
                    message.getMessageId());
        }
        if (notificationHandlerList.isEmpty()) {
            throw new AWSPluginException("The notificationHandlerList is empty for message (ID : %s)",
                    message.getMessageId());
        }
        ExecutorService executorService = Executors.newCachedThreadPool();
        List<Future<List<NotificationHandleResult<Message, Boolean>>>> resultList = new ArrayList<Future<List<NotificationHandleResult<Message, Boolean>>>>();
        for (INotificationHandler<Message, Boolean> notificationHandler : notificationHandlerList) {
            Future<List<NotificationHandleResult<Message, Boolean>>> future = executorService
                    .submit(new NotificationHandlerCallable(notificationHandler, message));
            resultList.add(future);
        }

        List<NotificationHandleResult<Message, Boolean>> returnList = new ArrayList<NotificationHandleResult<Message, Boolean>>();
        //??
        for (Future<List<NotificationHandleResult<Message, Boolean>>> fs : resultList) {
            try {
                List<NotificationHandleResult<Message, Boolean>> result = fs.get();
                for (NotificationHandleResult<Message, Boolean> notificationHandleResult : result) {
                    returnList.add(notificationHandleResult);
                }
            } catch (Exception e) {
                if (logger.isErrorEnabled()) {
                    logger.error(e.getMessage(), e);
                }
                returnList.add(
                        new NotificationHandleResult<Message, Boolean>(message.getMessageId(), message, false));
            } finally {
                //????????
                executorService.shutdown();
            }
        }
        return returnList;
    } catch (Exception e) {
        throw new AWSPluginException(e.getMessage(), e);
    }
}

From source file:com.easarrive.image.thumbor.executer.impl.RequestSQSCallable.java

License:Open Source License

@Override
public Boolean call() throws Exception {
    try {//from www.ja  va2 s  .co m
        AmazonSQS client = sqsService.getAmazonSQSClient(region);
        ReceiveMessageResult result = sqsService.receiveMessage(client, queueUrl, maxNumberOfMessages,
                visibilityTimeout);
        if (logger.isDebugEnabled()) {
            logger.debug("The messages to receive result is {}", result);
        }
        if (result == null) {
            throw new ThumborException("The messages to receive result is null");
        }
        List<Message> messageList = result.getMessages();
        if (messageList == null) {
            throw new ThumborException("The message list is null");
        }
        if (messageList.isEmpty()) {
            if (logger.isInfoEnabled()) {
                logger.info("The message list is empty", result);
            }
            return true;
        }

        ExecutorService executorService = Executors.newCachedThreadPool();
        List<Future<Map<String, Object>>> resultList = new ArrayList<Future<Map<String, Object>>>();
        for (Message message : messageList) {
            Future<Map<String, Object>> future = executorService
                    .submit(new MessageCallable(notificationService, message));
            resultList.add(future);
        }

        //??
        for (Future<Map<String, Object>> fs : resultList) {
            try {
                Map<String, Object> resultMap = fs.get();
                if (logger.isDebugEnabled()) {
                    logger.debug("The SQS message result to handle is {}", resultMap);
                }
                Message message = (Message) resultMap.get(MessageCallable.KEY_MESSAGE);
                List<NotificationHandleResult<Message, Boolean>> resultList1 = (List<NotificationHandleResult<Message, Boolean>>) resultMap
                        .get(MessageCallable.KEY_RESULT);
                logger.info("The SQS message result list is {}", resultList1);
                boolean success = false;
                for (NotificationHandleResult<Message, Boolean> resultA : resultList1) {
                    success = resultA.getData();
                    if (!resultA.getData()) {
                        break;
                    }
                }
                if (logger.isInfoEnabled()) {
                    logger.info("\n\t\t|=======- The SQS message (ID : {})  result to handle is {}",
                            message.getMessageId(), success);
                }
                if (success) {
                    DeleteMessageResult deleteMessageResult = sqsService.deleteMessage(client, queueUrl,
                            message);
                    if (logger.isInfoEnabled()) {
                        logger.info(
                                "\n\t\t\t\t\t\t<<======| [Delete SQS Message] The message (ID : {}) to delete result is {}\n",
                                message.getMessageId(), deleteMessageResult);
                    }
                }
                return true;
            } catch (Exception e) {
                if (logger.isErrorEnabled()) {
                    logger.error(e.getMessage(), e);
                }
            } finally {
                //????????
                executorService.shutdown();
            }
        }
    } catch (Exception e) {
        if (logger.isErrorEnabled()) {
            logger.error(e.getMessage(), e);
        }
    }
    return false;
}

From source file:com.easarrive.image.thumbor.executer.service.impl.SQSNotificationHandlerForThumbor.java

License:Open Source License

@Override
public List<NotificationHandleResult<Message, Boolean>> handle(Message message) throws AWSPluginException {
    String messageId = null;/*from w  w w. j  a  va2  s.co  m*/
    try {
        if (message == null) {
            throw new AWSPluginException("The message is null");
        }
        messageId = message.getMessageId();

        S3EventMessageContent messageContent = this.getMessageContent(message.getBody());
        if (messageContent == null) {
            throw new AWSPluginException("The S3EventMessageContent is null");
        }

        //???
        return this.ergodicS3EventMessageRecord(message, messageContent);
    } catch (Exception e) {
        String errorMessage = String.format("Handle exception {%s} for messge (ID : %s)", e.getMessage(),
                messageId);
        throw new AWSPluginException(errorMessage, e);
    }
}

From source file:com.erudika.para.queue.AWSQueueUtils.java

License:Apache License

/**
 * Pulls a number of messages from an SQS queue.
 * @param queueURL the URL of the SQS queue
 * @param numberOfMessages the number of messages to pull
 * @return a list of messages//w w  w  .java 2 s. com
 */
public static List<String> pullMessages(String queueURL, int numberOfMessages) {
    List<String> messages = new ArrayList<String>();
    if (!StringUtils.isBlank(queueURL)) {
        try {
            int batchSteps = 1;
            int maxForBatch = numberOfMessages;
            if ((numberOfMessages > MAX_MESSAGES)) {
                batchSteps = (numberOfMessages / MAX_MESSAGES)
                        + ((numberOfMessages % MAX_MESSAGES > 0) ? 1 : 0);
                maxForBatch = MAX_MESSAGES;
            }

            for (int i = 0; i < batchSteps; i++) {
                List<Message> list = getClient().receiveMessage(new ReceiveMessageRequest(queueURL)
                        .withMaxNumberOfMessages(maxForBatch).withWaitTimeSeconds(POLLING_INTERVAL))
                        .getMessages();
                if (list != null && !list.isEmpty()) {
                    List<DeleteMessageBatchRequestEntry> del = new ArrayList<DeleteMessageBatchRequestEntry>();
                    for (Message msg : list) {
                        messages.add(msg.getBody());
                        del.add(new DeleteMessageBatchRequestEntry(msg.getMessageId(), msg.getReceiptHandle()));
                    }
                    getClient().deleteMessageBatch(queueURL, del);
                }
            }
        } catch (AmazonServiceException ase) {
            logException(ase);
        } catch (AmazonClientException ace) {
            logger.error("Could not reach SQS. {}", ace.toString());
        }
    }
    return messages;
}