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

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

Introduction

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

Prototype


public SendMessageRequest withDelaySeconds(Integer delaySeconds) 

Source Link

Document

The length of time, in seconds, for which to delay a specific message.

Usage

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.  java2s  . c o 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);/*from   www. j  av a  2  s  .  co  m*/
}