本文整理了Java中com.amazonaws.services.sqs.model.ReceiveMessageRequest
类的一些代码示例,展示了ReceiveMessageRequest
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ReceiveMessageRequest
类的具体详情如下:
包路径:com.amazonaws.services.sqs.model.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;
}
内容来源于网络,如有侵权,请联系作者删除!