List of usage examples for com.amazonaws.services.sqs.model SendMessageRequest withDelaySeconds
public SendMessageRequest withDelaySeconds(Integer delaySeconds)
The length of time, in seconds, for which to delay a specific message.
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*/ }