com.amazonaws.services.sqs.model.ReceiveMessageRequest.withVisibilityTimeout()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(6.5k)|赞(0)|评价(0)|浏览(91)

本文整理了Java中com.amazonaws.services.sqs.model.ReceiveMessageRequest.withVisibilityTimeout方法的一些代码示例,展示了ReceiveMessageRequest.withVisibilityTimeout的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ReceiveMessageRequest.withVisibilityTimeout方法的具体详情如下:
包路径:com.amazonaws.services.sqs.model.ReceiveMessageRequest
类名称:ReceiveMessageRequest
方法名:withVisibilityTimeout

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())
);

相关文章

微信公众号

最新文章

更多