本文整理了Java中com.amazonaws.services.sqs.model.ReceiveMessageRequest.withVisibilityTimeout
方法的一些代码示例,展示了ReceiveMessageRequest.withVisibilityTimeout
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ReceiveMessageRequest.withVisibilityTimeout
方法的具体详情如下:
包路径:com.amazonaws.services.sqs.model.ReceiveMessageRequest
类名称:ReceiveMessageRequest
方法名:withVisibilityTimeout
[英]The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage
request.
[中]接收到的消息在被ReceiveMessage
请求检索后对后续检索请求隐藏的持续时间(秒)。
代码示例来源:origin: Netflix/conductor
@VisibleForTesting
List<Message> receiveMessages() {
try {
ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest()
.withQueueUrl(queueURL)
.withVisibilityTimeout(visibilityTimeoutInSeconds)
.withMaxNumberOfMessages(batchSize);
ReceiveMessageResult result = client.receiveMessage(receiveMessageRequest);
List<Message> messages = result.getMessages().stream()
.map(msg -> new Message(msg.getMessageId(), msg.getBody(), msg.getReceiptHandle()))
.collect(Collectors.toList());
Monitors.recordEventQueueMessagesProcessed(QUEUE_TYPE, this.queueName, messages.size());
return messages;
} catch (Exception e) {
logger.error("Exception while getting messages from SQS", e);
Monitors.recordObservableQMessageReceivedErrors(QUEUE_TYPE);
}
return new ArrayList<>();
}
代码示例来源:origin: bazaarvoice/emodb
@Override
public List<ScanRangeTask> claimScanRangeTasks(int max, Duration ttl) {
if (max == 0) {
return ImmutableList.of();
}
List<Message> messages = _sqs.receiveMessage(new ReceiveMessageRequest()
.withQueueUrl(getQueueUrl(_pendingScanRangeQueue))
.withMaxNumberOfMessages(Math.min(max, 10)) // SQS cannot claim more than 10 messages
.withVisibilityTimeout(toSeconds(ttl))
).getMessages();
return FluentIterable.from(messages)
.transform(new Function<Message, ScanRangeTask>() {
@Override
public ScanRangeTask apply(Message message) {
QueueScanRangeTask task = JsonHelper.fromJson(message.getBody(), QueueScanRangeTask.class);
task.setMessageId(message.getReceiptHandle());
return task;
}
})
.toList();
}
代码示例来源:origin: com.netflix.conductor/conductor-contribs
@VisibleForTesting
List<Message> receiveMessages() {
try {
ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest()
.withQueueUrl(queueURL)
.withVisibilityTimeout(visibilityTimeoutInSeconds)
.withMaxNumberOfMessages(batchSize);
ReceiveMessageResult result = client.receiveMessage(receiveMessageRequest);
List<Message> messages = result.getMessages().stream()
.map(msg -> new Message(msg.getMessageId(), msg.getBody(), msg.getReceiptHandle()))
.collect(Collectors.toList());
Monitors.recordEventQueueMessagesProcessed(QUEUE_TYPE, this.queueName, messages.size());
return messages;
} catch (Exception e) {
logger.error("Exception while getting messages from SQS", e);
Monitors.recordObservableQMessageReceivedErrors(QUEUE_TYPE);
}
return new ArrayList<>();
}
代码示例来源:origin: com.netflix.spinnaker.echo/echo-pubsub-aws
private void listenForMessages() {
while (isEnabled.get()) {
ReceiveMessageResult receiveMessageResult = amazonSQS.receiveMessage(
new ReceiveMessageRequest(queueId)
.withMaxNumberOfMessages(AWS_MAX_NUMBER_OF_MESSAGES)
.withVisibilityTimeout(subscription.getVisibilityTimeout())
.withWaitTimeSeconds(subscription.getWaitTimeSeconds())
.withMessageAttributeNames("All")
);
if (receiveMessageResult.getMessages().isEmpty()) {
log.debug("Received no messages for queue: {}", queueARN);
continue;
}
receiveMessageResult.getMessages().forEach(this::handleMessage);
}
}
代码示例来源:origin: bazaarvoice/emodb
@Override
public List<ScanRangeComplete> claimCompleteScanRanges(Duration ttl) {
List<Message> messages = _sqs.receiveMessage(new ReceiveMessageRequest()
.withQueueUrl(getQueueUrl(_completeScanRangeQueue))
.withMaxNumberOfMessages(10)
.withVisibilityTimeout(toSeconds(ttl))
).getMessages();
return FluentIterable.from(messages)
.transform(new Function<Message, ScanRangeComplete>() {
@Override
public ScanRangeComplete apply(Message message) {
QueueScanRangeComplete completion = JsonHelper.fromJson(message.getBody(), QueueScanRangeComplete.class);
completion.setMessageId(message.getReceiptHandle());
return completion;
}
})
.toList();
}
代码示例来源:origin: com.netflix.spinnaker.clouddriver/clouddriver-aws
new ReceiveMessageRequest(queueId)
.withMaxNumberOfMessages(AWS_MAX_NUMBER_OF_MESSAGES)
.withVisibilityTimeout(properties.getVisibilityTimeout())
.withWaitTimeSeconds(properties.getWaitTimeSeconds())
);
代码示例来源:origin: classmethod/gradle-aws-plugin
while (counter < maxNumberOfMessages) {
ReceiveMessageRequest request = new ReceiveMessageRequest().withQueueUrl(queueUrl)
.withMaxNumberOfMessages(MAX_MESSAGE_CONSUME_BATCH_SIZE).withVisibilityTimeout(30);
List<DeleteMessageBatchRequestEntry> messagesToDelete =
sqs.receiveMessage(request).getMessages().stream().map(message -> {
代码示例来源:origin: org.springframework.cloud/spring-cloud-aws-messaging
public ReceiveMessageRequest getReceiveMessageRequest() {
ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest(this.destinationUrl).
withAttributeNames(RECEIVING_ATTRIBUTES).
withMessageAttributeNames(RECEIVING_MESSAGE_ATTRIBUTES);
if (this.maxNumberOfMessages != null) {
receiveMessageRequest.withMaxNumberOfMessages(this.maxNumberOfMessages);
} else {
receiveMessageRequest.withMaxNumberOfMessages(DEFAULT_MAX_NUMBER_OF_MESSAGES);
}
if (this.visibilityTimeout != null) {
receiveMessageRequest.withVisibilityTimeout(this.visibilityTimeout);
}
if (this.waitTimeOut != null) {
receiveMessageRequest.setWaitTimeSeconds(this.waitTimeOut);
}
return receiveMessageRequest;
}
代码示例来源:origin: spring-cloud/spring-cloud-aws
public ReceiveMessageRequest getReceiveMessageRequest() {
ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest(this.destinationUrl).
withAttributeNames(RECEIVING_ATTRIBUTES).
withMessageAttributeNames(RECEIVING_MESSAGE_ATTRIBUTES);
if (this.maxNumberOfMessages != null) {
receiveMessageRequest.withMaxNumberOfMessages(this.maxNumberOfMessages);
} else {
receiveMessageRequest.withMaxNumberOfMessages(DEFAULT_MAX_NUMBER_OF_MESSAGES);
}
if (this.visibilityTimeout != null) {
receiveMessageRequest.withVisibilityTimeout(this.visibilityTimeout);
}
if (this.waitTimeOut != null) {
receiveMessageRequest.setWaitTimeSeconds(this.waitTimeOut);
}
return receiveMessageRequest;
}
代码示例来源:origin: com.netflix.spinnaker.clouddriver/clouddriver-aws
new ReceiveMessageRequest(queueId)
.withMaxNumberOfMessages(AWS_MAX_NUMBER_OF_MESSAGES)
.withVisibilityTimeout(properties.getVisibilityTimeout())
.withWaitTimeSeconds(properties.getWaitTimeSeconds())
);
内容来源于网络,如有侵权,请联系作者删除!