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

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

Introduction

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

Prototype

public SendMessageRequest(String queueUrl, String messageBody) 

Source Link

Document

Constructs a new SendMessageRequest object.

Usage

From source file:com.comcast.cns.io.CQSEndpointPublisher.java

License:Apache License

@Override
public void send() throws Exception {

    if ((message == null) || (endpoint == null)) {
        throw new Exception("Message and Endpoint must both be set");
    }// ww w. j a va2 s . c om

    String absoluteQueueUrl;

    if (com.comcast.cqs.util.Util.isValidQueueUrl(endpoint)) {
        absoluteQueueUrl = endpoint;
    } else {
        absoluteQueueUrl = com.comcast.cqs.util.Util.getAbsoluteQueueUrlForArn(endpoint);
    }

    try {

        String msg = null;

        if (message.getMessageStructure() == CNSMessageStructure.json) {
            msg = message.getProtocolSpecificMessage(CnsSubscriptionProtocol.cqs);
        } else {
            msg = message.getMessage();
        }

        if (!rawMessageDelivery && message.getMessageType() == CNSMessageType.Notification) {
            msg = com.comcast.cns.util.Util.generateMessageJson(message, CnsSubscriptionProtocol.cqs);
        }

        if (msg == null) {
            logger.warn("event=message_is_null endpoint=" + endpoint);
            return;
        }

        if (CMBProperties.getInstance().useInlineApiCalls()
                && CMBProperties.getInstance().getCQSServiceEnabled()) {
            CQSAPI.sendMessage(user.getUserId(), Util.getRelativeForAbsoluteQueueUrl(absoluteQueueUrl), msg,
                    null);
        } else {
            awsCredentials = new BasicAWSCredentials(user.getAccessKey(), user.getAccessSecret());
            sqs = new AmazonSQSClient(awsCredentials);
            sqs.setEndpoint(CMBProperties.getInstance().getCQSServiceUrl());
            sqs.sendMessage(new SendMessageRequest(absoluteQueueUrl, msg));
        }

        if (CMBProperties.getInstance().getMaxMessagePayloadLogLength() > 0) {
            if (msg.length() > CMBProperties.getInstance().getMaxMessagePayloadLogLength()) {

                logger.debug("event=delivering_cqs_message endpoint=" + endpoint + "\" message=\""
                        + msg.substring(0, CMBProperties.getInstance().getMaxMessagePayloadLogLength() - 1));

            } else {
                logger.debug("event=delivering_cqs_message endpoint=" + endpoint + "\" message=\"" + msg);
            }
        } else {
            logger.debug("event=delivering_cqs_message endpoint=" + endpoint);
        }

    } catch (Exception ex) {
        logger.warn("event=send_cqs_message endpoint=" + endpoint + "\" message=\"" + message, ex);
        throw new CMBException(CNSErrorCodes.InternalError, "internal service error");
    }

    logger.debug("event=send_cqs_message endpoint=" + endpoint + " message=\"" + message + "\"");
}

From source file:com.comcast.cns.io.SQSEndpointPublisher.java

License:Apache License

@Override
public void send() throws Exception {

    if ((message == null) || (endpoint == null)) {
        throw new Exception("Message and Endpoint must both be set");
    }/* w  ww . ja  v a  2s .c  o  m*/

    awsCredentials = new BasicAWSCredentials(CMBProperties.getInstance().getAwsAccessKey(),
            CMBProperties.getInstance().getAwsAccessSecret());
    sqs = new AmazonSQSClient(awsCredentials);

    String url;

    if (com.comcast.cqs.util.Util.isValidQueueUrl(endpoint)) {
        url = endpoint;
    } else {
        url = com.comcast.cqs.util.Util.getAbsoluteAWSQueueUrlForArn(endpoint);
    }

    try {

        String msg = null;

        if (message.getMessageStructure() == CNSMessageStructure.json) {
            msg = message.getProtocolSpecificMessage(CnsSubscriptionProtocol.cqs);
        } else {
            msg = message.getMessage();
        }

        if (!rawMessageDelivery && message.getMessageType() == CNSMessageType.Notification) {
            msg = com.comcast.cns.util.Util.generateMessageJson(message, CnsSubscriptionProtocol.cqs);
        }

        logger.debug("event=send_sqs_message endpoint=" + endpoint + "\" message=\"" + msg);

        sqs.sendMessage(new SendMessageRequest(url, msg));

    } catch (Exception ex) {
        logger.warn("event=send_sqs_message endpoint=" + endpoint + "\" message=\"" + message, ex);
        throw new CMBException(CNSErrorCodes.InternalError, "internal service error");
    }

    logger.debug("event=send_sqs_message endpoint=" + endpoint + " message=\"" + message + "\"");
}

From source file:com.comcast.cns.tools.CQSHandler.java

License:Apache License

public static String sendMessage(String relativeQueueUrl, String message) throws Exception {

    long ts1 = System.currentTimeMillis();
    String receiptHandle = null;//from   ww w  .ja v  a  2 s. com

    if (useInlineApiCalls) {
        receiptHandle = CQSAPI.sendMessage(cnsInternal.getUserId(), relativeQueueUrl, message, null);
    } else {
        String absoluteQueueUrl = Util.getAbsoluteQueueUrlForRelativeUrl(relativeQueueUrl);
        SendMessageResult sendMessageResult = sqs
                .sendMessage(new SendMessageRequest(absoluteQueueUrl, message));
        receiptHandle = sendMessageResult.getMessageId();
    }

    long ts2 = System.currentTimeMillis();

    CMBControllerServlet.valueAccumulator.addToCounter(AccumulatorName.CNSCQSTime, ts2 - ts1);
    logger.debug("event=send_message message_id=" + receiptHandle);

    return receiptHandle;
}

From source file:com.comcast.cqs.controller.CQSQueueMessagesPageServlet.java

License:Apache License

public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    if (redirectUnauthenticatedUser(request, response)) {
        return;/*w  w  w  .  ja va  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();
}

From source file:com.dateofrock.aws.simplesqs.JobProducer.java

License:Apache License

public void put(AbstractJobTicket jobTicket) {
    String queueName = this.reflector.findQueueName(jobTicket.getClass());

    try {//  w  w  w  .j ava 2s. com
        jobTicket.prepare();
    } catch (Exception e) {
        throw new SimpleSQSException(e);
    }

    Date now = new Date();

    if (jobTicket.createdAt == null) {
        jobTicket.createdAt = now;
    }
    jobTicket.updatedAt = now;
    jobTicket.status = Status.WAITING.getValue();
    this.sdbMapper.save(jobTicket);

    GetQueueUrlResult result = this.sqs.getQueueUrl(new GetQueueUrlRequest(queueName));
    String queueUrl = result.getQueueUrl();
    this.sqs.sendMessage(new SendMessageRequest(queueUrl, jobTicket.id));
}

From source file:com.dushyant.flume.sink.aws.sqs.BasicSQSMsgSender.java

License:Apache License

@Override
public int send(Channel channel) throws EventDeliveryException {
    int eventProcessedCounter = 0;
    Event event = channel.take();
    if (event == null || event.getBody().length == 0) {
        // Don't bother with anything if the channel returns null event or an event with empty body
        return eventProcessedCounter;
    }// w w w  .  j a  v  a 2 s .c  om
    try {
        this.amazonSQS.sendMessage(new SendMessageRequest(sqsUrl, new String(event.getBody(), "UTF-8").trim()));
        // This event is processed successfully to increment the counter
        eventProcessedCounter++;
    } catch (AmazonServiceException ase) {
        throw new EventDeliveryException("Failure sending message request to Amazon SQS, "
                + "the request made it to SQS but was rejected for some reason.", ase);
    } catch (AmazonClientException ace) {
        throw new EventDeliveryException("Failure sending message request to Amazon SQS.", ace);
    } catch (UnsupportedEncodingException e) {
        throw new EventDeliveryException("Character set UTF-8 not supported.", e);
    }
    return eventProcessedCounter;
}

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

License:Open Source License

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

    BasicConfigurator.configure();//from   ww  w  . j a v  a 2 s  .co m

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

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

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

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

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

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

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

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

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

From source file:com.espressologic.aws.sqs.SqsAmazonService.java

License:Open Source License

/**
 * return only the message ID//  w w w.  j  a v a 2 s .  co  m
 * @param messageText
 * @return
 */
public static String sendMessage(String messageText) {
    // Send a message
    AmazonSQS sqs = createAWSCredentials();
    System.out.println("Sending a message to " + myQueueUrl + ".\n");
    SendMessageResult result = sqs.sendMessage(new SendMessageRequest(myQueueUrl, messageText));
    System.out.println(result.toString());
    return result.getMessageId();
}

From source file:com.ibm.connectors.AmazonSQS.AmazonSQSOutputInteraction.java

License:Open Source License

@Override
public Properties send(Properties properties, Object message) throws ConnectorException {

    String access_key_id = properties.getProperty("AccessKeyId");
    String secret_access_key = properties.getProperty("SecretAccessKey");
    BasicAWSCredentials credentials = new BasicAWSCredentials(access_key_id, secret_access_key);

    AmazonSQS sqs = new AmazonSQSClient(credentials);
    //System.out.println(properties.getProperty("region"));
    // Region selection
    Region region = Region.getRegion(Regions.fromName(properties.getProperty("region")));
    sqs.setRegion(region);//from  w w  w . ja  v  a  2 s  . c om

    GetQueueUrlResult queueUrl = sqs.getQueueUrl(properties.getProperty("Queue"));
    String messageStr = new String((byte[]) message);

    sqs.sendMessage(new SendMessageRequest(queueUrl.getQueueUrl(), messageStr));

    return properties;
}

From source file:com.jktsoftware.amazondownloader.queuemanager.DownloaderQueueManager.java

License:Open Source License

public boolean sendReceivedObjectMessageToQueue(String objectid) {
    JsonBuilderFactory factory = Json.createBuilderFactory(null);
    JsonObject value = factory.createObjectBuilder().add("eventtype", "downloaderReceived")
            .add("objectid", objectid).build();

    _sqs.sendMessage(new SendMessageRequest(this._receivedqueueurl, value.toString()));

    return true;//from w w  w . j a v  a 2  s.  c  om
}