本文整理了Java中com.amazonaws.services.sqs.model.ReceiveMessageRequest.withWaitTimeSeconds
方法的一些代码示例,展示了ReceiveMessageRequest.withWaitTimeSeconds
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ReceiveMessageRequest.withWaitTimeSeconds
方法的具体详情如下:
包路径:com.amazonaws.services.sqs.model.ReceiveMessageRequest
类名称:ReceiveMessageRequest
方法名:withWaitTimeSeconds
[英]The duration (in seconds) for which the call waits for a message to arrive in the queue before returning. If a message is available, the call returns sooner than WaitTimeSeconds
. If no messages are available and the wait time expires, the call returns successfully with an empty list of messages.
[中]呼叫在返回之前等待消息到达队列的持续时间(秒)。如果有消息,则通话会在[$0$]之前返回。如果没有可用消息且等待时间到期,则呼叫将成功返回,消息列表为空。
代码示例来源: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: awsdocs/aws-doc-sdk-examples
.withWaitTimeSeconds(20);
sqs.receiveMessage(receive_request);
代码示例来源:origin: aws-amplify/aws-sdk-android
/**
* Attempts to retrieve messages from SQS and upon completion
* (successful or unsuccessful) reports the batch as complete and open
*/
@Override
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: com.github.davidmoten/rxjava2-aws
private static ReceiveMessageRequest request(String queueUrl, int waitTimeSeconds) {
return new ReceiveMessageRequest(queueUrl).withMaxNumberOfMessages(20).withWaitTimeSeconds(waitTimeSeconds);
}
代码示例来源:origin: gofore/aws-training
@Get("json")
public JsonNode logs() {
ReceiveMessageRequest request = new ReceiveMessageRequest(queueUrl)
.withWaitTimeSeconds(20)
.withMaxNumberOfMessages(10);
return sqsClient.receiveMessage(request)
.thenApply(ReceiveMessageResult::getMessages)
.whenComplete(Consumers.onSuccess(msgs -> msgs.forEach(deleteMessage())))
.thenApply(msgs -> msgs.stream().map(readNode()))
.thenApply(toArray())
.join();
}
代码示例来源: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: com.github.davidmoten/rxjava2-aws
@Override
public State call() {
queueUrl = sqs.getQueueUrl(queueName).getQueueUrl();
request = new ReceiveMessageRequest(queueUrl) //
.withWaitTimeSeconds(20) //
.withMaxNumberOfMessages(10);
return new State(new LinkedList<>());
}
代码示例来源: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: 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: 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: org.springframework.cloud/spring-cloud-aws-messaging
@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: Erudika/para
withMaxNumberOfMessages(maxForBatch).withWaitTimeSeconds(POLLING_INTERVAL)).getMessages();
if (list != null && !list.isEmpty()) {
List<DeleteMessageBatchRequestEntry> del = new ArrayList<>();
代码示例来源:origin: com.erudika/para-server
withMaxNumberOfMessages(maxForBatch).withWaitTimeSeconds(POLLING_INTERVAL)).getMessages();
if (list != null && !list.isEmpty()) {
List<DeleteMessageBatchRequestEntry> del = new ArrayList<>();
代码示例来源:origin: awslabs/amazon-sqs-java-messaging-lib
.withAttributeNames(ALL)
.withMessageAttributeNames(ALL)
.withWaitTimeSeconds(WAIT_TIME_SECONDS);
代码示例来源:origin: org.symphonyoss.s2.fugue/aws-fugue
/* package */ SqsSubscriber(SqsSubscriberManager manager, AmazonSQS sqsClient, String queueUrl,
String subscriptionName, ITraceContextTransactionFactory traceFactory,
IThreadSafeRetryableConsumer<String> consumer, ICounter counter, IBusyCounter busyCounter, String tenantId)
{
super(manager, subscriptionName, counter, busyCounter, EXTENSION_FREQUENCY_MILLIS);
if(Fugue.isDebugSingleThread())
{
messageBatchSize_ = 1;
}
manager_ = manager;
sqsClient_ = sqsClient;
queueUrl_ = queueUrl;
traceFactory_ = traceFactory;
consumer_ = consumer;
nonIdleSubscriber_ = new NonIdleSubscriber();
tenantId_ = tenantId;
blockingPullRequest_ = new ReceiveMessageRequest(queueUrl_)
.withMaxNumberOfMessages(messageBatchSize_ )
.withWaitTimeSeconds(20);
nonBlockingPullRequest_ = new ReceiveMessageRequest(queueUrl_)
.withMaxNumberOfMessages(messageBatchSize_ );
}
代码示例来源:origin: com.amazonaws/amazon-sqs-java-messaging-lib
.withAttributeNames(ALL)
.withMessageAttributeNames(ALL)
.withWaitTimeSeconds(WAIT_TIME_SECONDS);
代码示例来源:origin: com.amazonaws/aws-java-sdk-sqs
/**
* 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: com.amazonaws/aws-android-sdk-sqs
/**
* Attempts to retrieve messages from SQS and upon completion
* (successful or unsuccessful) reports the batch as complete and open
*/
@Override
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: com.netflix.spinnaker.clouddriver/clouddriver-aws
.withMaxNumberOfMessages(AWS_MAX_NUMBER_OF_MESSAGES)
.withVisibilityTimeout(properties.getVisibilityTimeout())
.withWaitTimeSeconds(properties.getWaitTimeSeconds())
);
代码示例来源: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;
}
内容来源于网络,如有侵权,请联系作者删除!