com.amazonaws.services.sqs.model.ReceiveMessageRequest类的使用及代码示例

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

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

ReceiveMessageRequest介绍

暂无

代码示例

代码示例来源:origin: aws/aws-sdk-java

/**
   * Attempts to retrieve messages from SQS and upon completion (successful or unsuccessful)
   * reports the batch as complete and open
   */
  public void run() {
    try {
      visibilityDeadlineNano = System.nanoTime() + visibilityTimeoutNanos;
      ReceiveMessageRequest request = new ReceiveMessageRequest(qUrl).withMaxNumberOfMessages(config
          .getMaxBatchSize());
      ResultConverter.appendUserAgent(request, AmazonSQSBufferedAsyncClient.USER_AGENT);
      if (config.getVisibilityTimeoutSeconds() > 0) {
        request.setVisibilityTimeout(config.getVisibilityTimeoutSeconds());
        visibilityDeadlineNano = System.nanoTime()
            + TimeUnit.NANOSECONDS.convert(config.getVisibilityTimeoutSeconds(), TimeUnit.SECONDS);
      }
      if (config.isLongPoll()) {
        request.withWaitTimeSeconds(config.getLongPollWaitTimeoutSeconds());
      }
      messages = sqsClient.receiveMessage(request).getMessages();
    } catch (AmazonClientException e) {
      exception = e;
    } finally {
      // whatever happened, we are done and can be considered open
      open = true;
      parentBuffer.reportBatchFinished(this);
    }
  }
}

代码示例来源:origin: apache/usergrid

ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest( url );
receiveMessageRequest.setAttributeNames(requestMessageAttributeNames);
receiveMessageRequest.setMaxNumberOfMessages( limit );
receiveMessageRequest.setVisibilityTimeout(
  Math.max( MIN_VISIBILITY_TIMEOUT, fig.getVisibilityTimeout() / 1000 ) );
receiveMessageRequest.setWaitTimeSeconds( longPollTimeout / 1000 ); // convert to seconds
  List<Message> messages = result.getMessages();

代码示例来源: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: aws/aws-sdk-java

/**
 * Simplified method form for invoking the ReceiveMessage operation.
 *
 * @see #receiveMessageAsync(ReceiveMessageRequest)
 */
@Override
public java.util.concurrent.Future<ReceiveMessageResult> receiveMessageAsync(String queueUrl) {
  return receiveMessageAsync(new ReceiveMessageRequest().withQueueUrl(queueUrl));
}

代码示例来源:origin: aws/aws-sdk-java

com.amazonaws.internal.SdkInternalList<String> attributeNamesCopy = new com.amazonaws.internal.SdkInternalList<String>(attributeNames.length);
for (QueueAttributeName value : attributeNames) {
  attributeNamesCopy.add(value.toString());
if (getAttributeNames() == null) {
  setAttributeNames(attributeNamesCopy);
} else {
  getAttributeNames().addAll(attributeNamesCopy);

代码示例来源:origin: spring-cloud/spring-cloud-aws

@Override
public Message<String> receive(long timeout) {
  ReceiveMessageResult receiveMessageResult = this.amazonSqs.receiveMessage(
      new ReceiveMessageRequest(this.queueUrl).
          withMaxNumberOfMessages(1).
          withWaitTimeSeconds(Long.valueOf(timeout).intValue()).
          withAttributeNames(ATTRIBUTE_NAMES).
          withMessageAttributeNames(MESSAGE_ATTRIBUTE_NAMES));
  if (receiveMessageResult.getMessages().isEmpty()) {
    return null;
  }
  com.amazonaws.services.sqs.model.Message amazonMessage = receiveMessageResult.getMessages().get(0);
  Message<String> message = createMessage(amazonMessage);
  this.amazonSqs.deleteMessage(new DeleteMessageRequest(this.queueUrl, amazonMessage.getReceiptHandle()));
  return message;
}

代码示例来源:origin: aws/aws-cloudtrail-processing-library

/**
 * Poll SQS queue for incoming messages, filter them, and return a list of SQS Messages.
 *
 * @return a list of SQS messages.
 */
public List<Message> pollQueue() {
  boolean success = false;
  ProgressStatus pollQueueStatus = new ProgressStatus(ProgressState.pollQueue, new BasicPollQueueInfo(0, success));
  final Object reportObject = progressReporter.reportStart(pollQueueStatus);
  ReceiveMessageRequest request = new ReceiveMessageRequest().withAttributeNames(ALL_ATTRIBUTES);
  request.setQueueUrl(config.getSqsUrl());
  request.setVisibilityTimeout(config.getVisibilityTimeout());
  request.setMaxNumberOfMessages(DEFAULT_SQS_MESSAGE_SIZE_LIMIT);
  request.setWaitTimeSeconds(DEFAULT_WAIT_TIME_SECONDS);
  List<Message> sqsMessages = new ArrayList<Message>();
  try {
    ReceiveMessageResult result = sqsClient.receiveMessage(request);
    sqsMessages = result.getMessages();
    logger.info("Polled " + sqsMessages.size() + " sqs messages from " + config.getSqsUrl());
    success = true;
  } catch (AmazonServiceException e) {
    LibraryUtils.handleException(exceptionHandler, pollQueueStatus, e, "Failed to poll sqs message.");
  } finally {
    LibraryUtils.endToProcess(progressReporter, success, pollQueueStatus, reportObject);
  }
  return sqsMessages;
}

代码示例来源:origin: com.github.davidmoten/rxjava2-aws

private static ReceiveMessageRequest request(String queueUrl, int waitTimeSeconds) {
  return new ReceiveMessageRequest(queueUrl).withMaxNumberOfMessages(20).withWaitTimeSeconds(waitTimeSeconds);
}

代码示例来源:origin: Transitime/core

new ReceiveMessageRequest(sqsQueueUrl)
    .withMaxNumberOfMessages(10)).getMessages();

代码示例来源:origin: aws/aws-sdk-java

List<Message> messages = sqs.receiveMessage(new ReceiveMessageRequest(queueUrl)).getMessages();
for (Message message : messages) {
  String messageBody = message.getBody();

代码示例来源:origin: aws/aws-sdk-java

setAttributeNames(new com.amazonaws.internal.SdkInternalList<String>(attributeNames.length));
this.attributeNames.add(ele);

代码示例来源:origin: aws/aws-sdk-java

@Override
public Future<ReceiveMessageResult> receiveMessageAsync(
    String queueUrl,
    AsyncHandler<ReceiveMessageRequest, ReceiveMessageResult> asyncHandler) {
  return receiveMessageAsync(new ReceiveMessageRequest(queueUrl), asyncHandler);
}

代码示例来源: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: Comcast/cmb

ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest(absoluteQueueUrl);
receiveMessageRequest.setMaxNumberOfMessages(maxNumberOfMessages);
receiveMessageRequest.setMessageAttributeNames(new ArrayList<String>(Arrays.asList("All")));
  receiveMessageRequest.setWaitTimeSeconds(waitTimeSeconds);
List<Message> msgs = receiveMessageResult.getMessages();

代码示例来源:origin: com.hotels/shunting-yard-receiver-sqs

private void readRecordsIfNeeded() {
 while (records == null || !records.hasNext()) {
  ReceiveMessageRequest request = new ReceiveMessageRequest()
    .withQueueUrl(queueUrl)
    .withWaitTimeSeconds(waitTimeSeconds);
  records = consumer.receiveMessage(request).getMessages().iterator();
 }
}

代码示例来源:origin: spring-projects/spring-integration-aws

@Bean
public AmazonSQSAsync amazonSqs() {
  AmazonSQSAsync sqs = mock(AmazonSQSAsync.class);
  given(sqs.getQueueUrl(new GetQueueUrlRequest("testQueue")))
      .willReturn(new GetQueueUrlResult().withQueueUrl("http://testQueue.amazonaws.com"));
  given(sqs.receiveMessage(new ReceiveMessageRequest("http://testQueue.amazonaws.com")
      .withAttributeNames("All")
      .withMessageAttributeNames("All")
      .withMaxNumberOfMessages(10)
      .withWaitTimeSeconds(20)))
      .willReturn(new ReceiveMessageResult()
          .withMessages(new Message().withBody("messageContent"),
              new Message().withBody("messageContent2")))
      .willReturn(new ReceiveMessageResult());
  given(sqs.getQueueAttributes(any(GetQueueAttributesRequest.class)))
      .willReturn(new GetQueueAttributesResult());
  return sqs;
}

代码示例来源:origin: org.apache.beam/beam-sdks-java-io-amazon-web-services

private void pull() {
 final ReceiveMessageRequest receiveMessageRequest =
   new ReceiveMessageRequest(source.getRead().queueUrl());
 receiveMessageRequest.setMaxNumberOfMessages(MAX_NUMBER_OF_MESSAGES);
 receiveMessageRequest.setAttributeNames(
   Arrays.asList(MessageSystemAttributeName.SentTimestamp.toString()));
 final ReceiveMessageResult receiveMessageResult =
   source.getSqs().receiveMessage(receiveMessageRequest);
 final List<Message> messages = receiveMessageResult.getMessages();
 if (messages == null || messages.isEmpty()) {
  return;
 }
 for (Message message : messages) {
  messagesNotYetRead.add(message);
 }
}

代码示例来源:origin: gofore/aws-training

@Override
public synchronized void start() throws Exception {
  if (isEnabled() && thread == null) {
    super.start();
    this.thread = new Thread(() -> {
      // loop that polls new messages with maximum long poll time
      while (isStarted()) {
        try {
          ReceiveMessageRequest request = new ReceiveMessageRequest(queueUrl)
              .withWaitTimeSeconds(LONG_POLL_SECONDS);
          ReceiveMessageResult result = sqsClient.getSqs().receiveMessage(request);
          
          // apply the message handle chain and finally delete message if
          // everything else succeeds
          Stream<CompletableFuture<Message>> messages = result.getMessages().stream()
              .map(this::handleMessage)
              .map(this::completeMessage)
              .map(this::deleteMessage);
          sequence(messages).join();
          // artificial slow down to allow scaling to happen
          Threads.sleep(10000);
        } catch (RuntimeException ex) {
          LOGGER.warn("SQS receive or message handling failed", ex);
          Threads.sleep(WAIT_AFTER_FAILURE_MILLIS);
        }
      }
    });
    this.thread.start();
  }
}

代码示例来源:origin: awsdocs/aws-doc-sdk-examples

ReceiveMessageRequest receive_request = new ReceiveMessageRequest()
    .withQueueUrl(queue_url)
    .withWaitTimeSeconds(20);
sqs.receiveMessage(receive_request);

代码示例来源:origin: com.erudika/para

@Override
public String pull() {
  String task = "[]";
  if (!StringUtils.isBlank(url)) {
    try {
      ReceiveMessageRequest receiveReq = new ReceiveMessageRequest(url);
      receiveReq.setMaxNumberOfMessages(MAX_MESSAGES);
      List<Message> list = client().receiveMessage(receiveReq).getMessages();
      if (list != null && !list.isEmpty()) {
        Message message = list.get(0);
        client().deleteMessage(new DeleteMessageRequest(url, message.getReceiptHandle()));
        task = message.getBody();
      }
    } catch (AmazonServiceException ase) {
      logException(ase);
    } catch (AmazonClientException ace) {
      logger.error("Could not reach SQS. {}", ace.toString());
    }
  }
  return task;
}

相关文章

微信公众号

最新文章

更多