/** * Simplified method form for invoking the SendMessageBatch operation with an AsyncHandler. * * @see #sendMessageBatchAsync(SendMessageBatchRequest, com.amazonaws.handlers.AsyncHandler) */ @Override public java.util.concurrent.Future<SendMessageBatchResult> sendMessageBatchAsync(String queueUrl, java.util.List<SendMessageBatchRequestEntry> entries, com.amazonaws.handlers.AsyncHandler<SendMessageBatchRequest, SendMessageBatchResult> asyncHandler) { return sendMessageBatchAsync(new SendMessageBatchRequest().withQueueUrl(queueUrl).withEntries(entries), asyncHandler); }
/** * Simplified method form for invoking the SendMessageBatch operation. * * @see #sendMessageBatchAsync(SendMessageBatchRequest) */ @Override public java.util.concurrent.Future<SendMessageBatchResult> sendMessageBatchAsync(String queueUrl, java.util.List<SendMessageBatchRequestEntry> entries) { return sendMessageBatchAsync(new SendMessageBatchRequest().withQueueUrl(queueUrl).withEntries(entries)); }
/** * Simplified method form for invoking the SendMessageBatch operation with an AsyncHandler. * * @see #sendMessageBatchAsync(SendMessageBatchRequest, com.amazonaws.handlers.AsyncHandler) */ @Override public java.util.concurrent.Future<SendMessageBatchResult> sendMessageBatchAsync(String queueUrl, java.util.List<SendMessageBatchRequestEntry> entries, com.amazonaws.handlers.AsyncHandler<SendMessageBatchRequest, SendMessageBatchResult> asyncHandler) { return sendMessageBatchAsync(new SendMessageBatchRequest().withQueueUrl(queueUrl).withEntries(entries), asyncHandler); }
/** * Simplified method form for invoking the SendMessageBatch operation. * * @see #sendMessageBatchAsync(SendMessageBatchRequest) */ @Override public java.util.concurrent.Future<SendMessageBatchResult> sendMessageBatchAsync(String queueUrl, java.util.List<SendMessageBatchRequestEntry> entries) { return sendMessageBatchAsync(new SendMessageBatchRequest().withQueueUrl(queueUrl).withEntries(entries)); }
@Override public SendMessageBatchResult sendMessageBatch(String queueUrl, java.util.List<SendMessageBatchRequestEntry> entries) { return sendMessageBatch(new SendMessageBatchRequest().withQueueUrl(queueUrl).withEntries(entries)); }
@Override public SendMessageBatchResult sendMessageBatch(String queueUrl, java.util.List<SendMessageBatchRequestEntry> entries) { return sendMessageBatch(new SendMessageBatchRequest().withQueueUrl(queueUrl).withEntries(entries)); }
.withEntries( new SendMessageBatchRequestEntry( "msg_1", "Hello from message 1"),
@Override public SendMessageBatchResult sendMessages( List<SendMessageBatchRequestEntry> entries, ResultCapture<SendMessageBatchResult> extractor) { SendMessageBatchRequest request = new SendMessageBatchRequest() .withEntries(entries); return sendMessages(request, extractor); }
/** * Simplified method form for invoking the SendMessageBatch operation. * * @see #sendMessageBatchAsync(SendMessageBatchRequest) */ @Override public java.util.concurrent.Future<SendMessageBatchResult> sendMessageBatchAsync(String queueUrl, java.util.List<SendMessageBatchRequestEntry> entries) { return sendMessageBatchAsync(new SendMessageBatchRequest().withQueueUrl(queueUrl).withEntries(entries)); }
/** * Simplified method form for invoking the SendMessageBatch operation with an AsyncHandler. * * @see #sendMessageBatchAsync(SendMessageBatchRequest, com.amazonaws.handlers.AsyncHandler) */ @Override public java.util.concurrent.Future<SendMessageBatchResult> sendMessageBatchAsync(String queueUrl, java.util.List<SendMessageBatchRequestEntry> entries, com.amazonaws.handlers.AsyncHandler<SendMessageBatchRequest, SendMessageBatchResult> asyncHandler) { return sendMessageBatchAsync(new SendMessageBatchRequest().withQueueUrl(queueUrl).withEntries(entries), asyncHandler); }
/** * Simplified method form for invoking the SendMessageBatch operation. * * @see #sendMessageBatchAsync(SendMessageBatchRequest) */ @Override public java.util.concurrent.Future<SendMessageBatchResult> sendMessageBatchAsync(String queueUrl, java.util.List<SendMessageBatchRequestEntry> entries) { return sendMessageBatchAsync(new SendMessageBatchRequest().withQueueUrl(queueUrl).withEntries(entries)); }
/** * Simplified method form for invoking the SendMessageBatch operation with an AsyncHandler. * * @see #sendMessageBatchAsync(SendMessageBatchRequest, com.amazonaws.handlers.AsyncHandler) */ @Override public java.util.concurrent.Future<SendMessageBatchResult> sendMessageBatchAsync(String queueUrl, java.util.List<SendMessageBatchRequestEntry> entries, com.amazonaws.handlers.AsyncHandler<SendMessageBatchRequest, SendMessageBatchResult> asyncHandler) { return sendMessageBatchAsync(new SendMessageBatchRequest().withQueueUrl(queueUrl).withEntries(entries), asyncHandler); }
@Override public SendMessageBatchResult sendMessageBatch(String queueUrl, java.util.List<SendMessageBatchRequestEntry> entries) { return sendMessageBatch(new SendMessageBatchRequest().withQueueUrl(queueUrl).withEntries(entries)); }
private void sendBatchMessages(Set<SendMessageBatchRequestEntry> msgEntries) { try { final SendMessageBatchRequest sendMessageBatchRequest = new SendMessageBatchRequest() .withQueueUrl(queueUrl) .withEntries(msgEntries); new Retrier(4, 5000, 2).execute(new Retriable() { @Override public Object retry() throws Exception { sqsClient.sendMessageBatch(sendMessageBatchRequest); return null; } }); log.info("{} SQS messages successfully placed on queue: {}", msgEntries.size(), queueName); } catch (Exception ex) { log.error("failed to place {} on {} due to {}", msgEntries, queueName, ex.getMessage()); throw new DuraCloudRuntimeException(ex); } }
@Override public SendMessageBatchResult sendMessageBatch(String queueUrl, java.util.List<SendMessageBatchRequestEntry> entries) { return sendMessageBatch(new SendMessageBatchRequest().withQueueUrl(queueUrl).withEntries(entries)); }
@TaskAction public void sendMessages() { String queueUrl = getQueueUrl(); Stream<String> messages = getMessages(); if (queueUrl == null) { throw new GradleException("Must specify either queueName or queueUrl"); } if (messages == null) { throw new GradleException("Must provide messages to send to SQS"); } AmazonSQSPluginExtension ext = getProject().getExtensions().getByType(AmazonSQSPluginExtension.class); AmazonSQS sqs = ext.getClient(); final AtomicInteger counter = new AtomicInteger(0); List<SendMessageBatchRequestEntry> messageEntries = messages.map(message -> new SendMessageBatchRequestEntry() .withId("gradle_message_index_" + counter.getAndIncrement()).withMessageBody(message)) .collect(Collectors.toList()); getLogger().info("Sending {} messages to {}", messageEntries.size(), queueUrl); Lists.partition(messageEntries, MAX_MESSAGE_SEND_BATCH_SIZE).parallelStream().forEach(messagesToSend -> sqs .sendMessageBatch(new SendMessageBatchRequest().withQueueUrl(queueUrl).withEntries(messagesToSend))); }