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

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

Introduction

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

Prototype


public SendMessageRequest withMessageBody(String messageBody) 

Source Link

Document

The message to send.

Usage

From source file:com.netflix.suro.sink.notice.SQSNotice.java

License:Apache License

@Override
public boolean send(String message) {
    boolean sent = false;

    try {/*from   w ww  .j a  v  a 2 s .co m*/
        for (String queueUrl : queueUrls) {
            SendMessageRequest request = new SendMessageRequest().withQueueUrl(queueUrl);

            if (enableBase64Encoding) {
                request = request
                        .withMessageBody(new String(Base64.encodeBase64(message.getBytes(Charsets.UTF_8))));
            } else {
                request = request.withMessageBody(message);
            }
            sqsClient.sendMessage(request);
            log.info("SQSNotice: " + message + " sent to " + queueUrl);
            if (!sent) {
                sentMessageCount.incrementAndGet();
                sent = true;
            }
        }
    } catch (Exception e) {
        log.error("Exception while sending SQS notice: " + e.getMessage(), e);
    }

    if (!sent) {
        lostMessageCount.incrementAndGet();
    }

    return sent;
}

From source file:org.thingsboard.rule.engine.aws.sqs.TbSqsNode.java

License:Apache License

private TbMsg publishMessage(TbContext ctx, TbMsg msg) {
    String queueUrl = TbNodeUtils.processPattern(this.config.getQueueUrlPattern(), msg.getMetaData());
    SendMessageRequest sendMsgRequest = new SendMessageRequest();
    sendMsgRequest.withQueueUrl(queueUrl);
    sendMsgRequest.withMessageBody(msg.getData());
    Map<String, MessageAttributeValue> messageAttributes = new HashMap<>();
    this.config.getMessageAttributes().forEach((k, v) -> {
        String name = TbNodeUtils.processPattern(k, msg.getMetaData());
        String val = TbNodeUtils.processPattern(v, msg.getMetaData());
        messageAttributes.put(name, new MessageAttributeValue().withDataType("String").withStringValue(val));
    });/*from w  ww. ja  v a 2 s. co  m*/
    sendMsgRequest.setMessageAttributes(messageAttributes);
    if (this.config.getQueueType() == TbSqsNodeConfiguration.QueueType.STANDARD) {
        sendMsgRequest.withDelaySeconds(this.config.getDelaySeconds());
    } else {
        sendMsgRequest.withMessageDeduplicationId(msg.getId().toString());
        sendMsgRequest.withMessageGroupId(msg.getOriginator().toString());
    }
    SendMessageResult result = this.sqsClient.sendMessage(sendMsgRequest);
    return processSendMessageResult(ctx, msg, result);
}

From source file:support.SQS.java

License:Open Source License

public void sendMessage(String messageKeyValue, String textMessage) throws Exception {
    // Send a message
    System.out.println("Sending a message.\n");

    Map<String, MessageAttributeValue> messageAttributes = new HashMap<>();
    messageAttributes.put(message_attribute_name,
            new MessageAttributeValue().withDataType("String").withStringValue(messageKeyValue));

    SendMessageRequest request = new SendMessageRequest();
    request.withMessageBody(textMessage);
    request.withQueueUrl(send_queue_url);
    request.withDelaySeconds(delay_time);
    request.withMessageAttributes(messageAttributes);
    sqs.sendMessage(request);//  w w  w  . ja  va2 s.co  m
}