/* * Copyright 2010-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ package com.amazonaws.services.sqs.model; import java.io.Serializable; import com.amazonaws.AmazonWebServiceRequest; /** *
* Retrieves one or more messages, with a maximum limit of 10 messages, from the
* specified queue. Long poll support is enabled by using the
* WaitTimeSeconds
parameter. For more information, see Amazon SQS Long Poll in the Amazon SQS Developer Guide.
*
* Short poll is the default behavior where a weighted random set of machines is
* sampled on a ReceiveMessage
call. This means only the messages
* on the sampled machines are returned. If the number of messages in the queue
* is small (less than 1000), it is likely you will get fewer messages than you
* requested per ReceiveMessage
call. If the number of messages in
* the queue is extremely small, you might not receive any messages in a
* particular ReceiveMessage
response; in which case you should
* repeat the request.
*
* For each message returned, the response includes the following: *
** Message body *
** MD5 digest of the message body. For information about MD5, see RFC1321. *
** Message ID you received when you sent the message to the queue. *
** Receipt handle. *
** Message attributes. *
** MD5 digest of the message attributes. *
** The receipt handle is the identifier you must provide when deleting the * message. For more information, see Queue and Message Identifiers in the Amazon SQS Developer Guide. *
*
* You can provide the VisibilityTimeout
parameter in your request,
* which will be applied to the messages that Amazon SQS returns in the
* response. If you don't include the parameter, the overall visibility timeout
* for the queue is used for the returned messages. For more information, see Visibility Timeout in the Amazon SQS Developer Guide.
*
* A message that is not deleted or a message whose visibility is not extended * before the visibility timeout expires counts as a failed receive. Depending * on the configuration of the queue, the message might be sent to the dead * letter queue. *
** Going forward, new attributes might be added. If you are writing code that * calls this action, we recommend that you structure your code so that it can * handle new attributes gracefully. *
** The URL of the Amazon SQS queue to take action on. *
** Queue URLs are case-sensitive. *
*/ private String queueUrl; /** ** A list of attributes that need to be returned along with each message. * These attributes include: *
*
* All
- Returns all values.
*
* ApproximateFirstReceiveTimestamp
- Returns the time the
* message was first received from the queue (epoch time in milliseconds).
*
* ApproximateReceiveCount
- Returns the number of times a
* message has been received from the queue but not deleted.
*
* SenderId
*
* For an IAM user, returns the IAM user ID, for example
* ABCDEFGHI1JKLMNOPQ23R
.
*
* For an IAM role, returns the IAM role ID, for example
* ABCDE1F2GH3I4JK5LMNOP:i-a123b456
.
*
* SentTimestamp
- Returns the time the message was sent to the
* queue (epoch time in milliseconds).
*
* MessageDeduplicationId
- Returns the value provided by the
* sender that calls the SendMessage
action.
*
* MessageGroupId
- Returns the value provided by the sender
* that calls the SendMessage
action. Messages with
* the same MessageGroupId
are returned in sequence.
*
* SequenceNumber
- Returns the value provided by Amazon SQS.
*
* Any other valid special request parameters (such as the following) that * are specified are ignored: *
*
* ApproximateNumberOfMessages
*
* ApproximateNumberOfMessagesDelayed
*
* ApproximateNumberOfMessagesNotVisible
*
* CreatedTimestamp
*
* ContentBasedDeduplication
*
* DelaySeconds
*
* LastModifiedTimestamp
*
* MaximumMessageSize
*
* MessageRetentionPeriod
*
* Policy
*
* QueueArn
,
*
* ReceiveMessageWaitTimeSeconds
*
* RedrivePolicy
*
* FifoQueue
*
* VisibilityTimeout
*
* The name of the message attribute, where N is the index. The * message attribute name can contain the following characters: A-Z, a-z, * 0-9, underscore (_), hyphen (-), and period (.). The name must not start * or end with a period, and it should not have successive periods. The name * is case sensitive and must be unique among all attribute names for the * message. The name can be up to 256 characters long. The name can't start * with "AWS." or "Amazon." (or any variations in casing), because these * prefixes are reserved for use by Amazon Web Services. *
*
* When using ReceiveMessage
, you can send a list of attribute
* names to receive, or you can return all of the attributes by specifying
* "All" or ".*" in your request. You can also use "bar.*" to return all
* message attributes starting with the "bar" prefix.
*
* The maximum number of messages to return. Amazon SQS never returns more * messages than this value but might return fewer. Values can be from 1 to * 10. Default is 1. *
** All of the messages are not necessarily returned. *
*/ private Integer maxNumberOfMessages; /** *
* The duration (in seconds) that the received messages are hidden from
* subsequent retrieve requests after being retrieved by a
* ReceiveMessage
request.
*
* The duration (in seconds) for which the call will wait for a message to * arrive in the queue before returning. If a message is available, the call * will return sooner than WaitTimeSeconds. *
*/ private Integer waitTimeSeconds; /** ** This parameter applies only to FIFO (first-in-first-out) queues. *
*
* The token used for deduplication of ReceiveMessage
calls. If
* a networking issue occurs after a ReceiveMessage
action, and
* instead of a response you receive a generic error, you can retry the same
* action with an identical ReceiveRequestAttemptId
to retrieve
* the same set of messages, even if their visibility timeout has not yet
* expired.
*
* You can use ReceiveRequestAttemptId
only for 5 minutes after
* a ReceiveMessage
action.
*
* When you set FifoQueue
, a caller of the
* ReceiveMessage
action can provide a
* ReceiveRequestAttemptId
explicitly.
*
* If a caller of the ReceiveMessage
action doesn't provide a
* ReceiveRequestAttemptId
, Amazon SQS generates a
* ReceiveRequestAttemptId
.
*
* You can retry the ReceiveMessage
action with the same
* ReceiveRequestAttemptId
if none of the messages have been
* modified (deleted or had their visibility changes).
*
* During a visibility timeout, subsequent calls with the same
* ReceiveRequestAttemptId
return the same messages and receipt
* handles. If a retry occurs within the deduplication interval, it resets
* the visibility timeout. For more information, see Visibility Timeout in the Amazon Simple Queue Service Developer
* Guide.
*
* If a caller of the ReceiveMessage
action is still processing
* messages when the visibility timeout expires and messages become visible,
* another worker reading from the same queue can receive the same messages
* and therefore process duplicates. Also, if a reader whose message
* processing time is longer than the visibility timeout tries to delete the
* processed messages, the action fails with an error.
*
* To mitigate this effect, ensure that your application observes a safe * threshold before the visibility timeout expires and extend the visibility * timeout as necessary. *
*
* While messages with a particular MessageGroupId
are
* invisible, no more messages belonging to the same
* MessageGroupId
are returned until the visibility timeout
* expires. You can still receive messages with another
* MessageGroupId
as long as it is also visible.
*
* If a caller of ReceiveMessage
can't track the
* ReceiveRequestAttemptId
, no retries will work until the
* original visibility timeout expires. As a result, delays might occur but
* the messages in the queue will remain in a strict order.
*
* The length of ReceiveRequestAttemptId
is 128 characters.
* ReceiveRequestAttemptId
can contain alphanumeric characters
* (a-z
, A-Z
, 0-9
) and punctuation (
* !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
).
*
* For best practices of using ReceiveRequestAttemptId
, see Using the ReceiveRequestAttemptId Request Parameter in the Amazon
* Simple Queue Service Developer Guide.
*
* The URL of the Amazon SQS queue to take action on. *
** Queue URLs are case-sensitive. *
*/ public ReceiveMessageRequest(String queueUrl) { setQueueUrl(queueUrl); } /** ** The URL of the Amazon SQS queue to take action on. *
** Queue URLs are case-sensitive. *
* * @return* The URL of the Amazon SQS queue to take action on. *
** Queue URLs are case-sensitive. *
*/ public String getQueueUrl() { return queueUrl; } /** ** The URL of the Amazon SQS queue to take action on. *
** Queue URLs are case-sensitive. *
* * @param queueUrl* The URL of the Amazon SQS queue to take action on. *
** Queue URLs are case-sensitive. *
*/ public void setQueueUrl(String queueUrl) { this.queueUrl = queueUrl; } /** ** The URL of the Amazon SQS queue to take action on. *
** Queue URLs are case-sensitive. *
** Returns a reference to this object so that method calls can be chained * together. * * @param queueUrl
* The URL of the Amazon SQS queue to take action on. *
** Queue URLs are case-sensitive. *
* @return A reference to this updated object so that method calls can be * chained together. */ public ReceiveMessageRequest withQueueUrl(String queueUrl) { this.queueUrl = queueUrl; return this; } /** ** A list of attributes that need to be returned along with each message. * These attributes include: *
*
* All
- Returns all values.
*
* ApproximateFirstReceiveTimestamp
- Returns the time the
* message was first received from the queue (epoch time in milliseconds).
*
* ApproximateReceiveCount
- Returns the number of times a
* message has been received from the queue but not deleted.
*
* SenderId
*
* For an IAM user, returns the IAM user ID, for example
* ABCDEFGHI1JKLMNOPQ23R
.
*
* For an IAM role, returns the IAM role ID, for example
* ABCDE1F2GH3I4JK5LMNOP:i-a123b456
.
*
* SentTimestamp
- Returns the time the message was sent to the
* queue (epoch time in milliseconds).
*
* MessageDeduplicationId
- Returns the value provided by the
* sender that calls the SendMessage
action.
*
* MessageGroupId
- Returns the value provided by the sender
* that calls the SendMessage
action. Messages with
* the same MessageGroupId
are returned in sequence.
*
* SequenceNumber
- Returns the value provided by Amazon SQS.
*
* Any other valid special request parameters (such as the following) that * are specified are ignored: *
*
* ApproximateNumberOfMessages
*
* ApproximateNumberOfMessagesDelayed
*
* ApproximateNumberOfMessagesNotVisible
*
* CreatedTimestamp
*
* ContentBasedDeduplication
*
* DelaySeconds
*
* LastModifiedTimestamp
*
* MaximumMessageSize
*
* MessageRetentionPeriod
*
* Policy
*
* QueueArn
,
*
* ReceiveMessageWaitTimeSeconds
*
* RedrivePolicy
*
* FifoQueue
*
* VisibilityTimeout
*
* A list of attributes that need to be returned along with each * message. These attributes include: *
*
* All
- Returns all values.
*
* ApproximateFirstReceiveTimestamp
- Returns the time
* the message was first received from the queue (epoch time in
* milliseconds).
*
* ApproximateReceiveCount
- Returns the number of
* times a message has been received from the queue but not deleted.
*
* SenderId
*
* For an IAM user, returns the IAM user ID, for example
* ABCDEFGHI1JKLMNOPQ23R
.
*
* For an IAM role, returns the IAM role ID, for example
* ABCDE1F2GH3I4JK5LMNOP:i-a123b456
.
*
* SentTimestamp
- Returns the time the message was
* sent to the queue (epoch time in milliseconds).
*
* MessageDeduplicationId
- Returns the value provided
* by the sender that calls the SendMessage
* action.
*
* MessageGroupId
- Returns the value provided by the
* sender that calls the SendMessage
action.
* Messages with the same MessageGroupId
are returned
* in sequence.
*
* SequenceNumber
- Returns the value provided by
* Amazon SQS.
*
* Any other valid special request parameters (such as the * following) that are specified are ignored: *
*
* ApproximateNumberOfMessages
*
* ApproximateNumberOfMessagesDelayed
*
* ApproximateNumberOfMessagesNotVisible
*
* CreatedTimestamp
*
* ContentBasedDeduplication
*
* DelaySeconds
*
* LastModifiedTimestamp
*
* MaximumMessageSize
*
* MessageRetentionPeriod
*
* Policy
*
* QueueArn
,
*
* ReceiveMessageWaitTimeSeconds
*
* RedrivePolicy
*
* FifoQueue
*
* VisibilityTimeout
*
* A list of attributes that need to be returned along with each message. * These attributes include: *
*
* All
- Returns all values.
*
* ApproximateFirstReceiveTimestamp
- Returns the time the
* message was first received from the queue (epoch time in milliseconds).
*
* ApproximateReceiveCount
- Returns the number of times a
* message has been received from the queue but not deleted.
*
* SenderId
*
* For an IAM user, returns the IAM user ID, for example
* ABCDEFGHI1JKLMNOPQ23R
.
*
* For an IAM role, returns the IAM role ID, for example
* ABCDE1F2GH3I4JK5LMNOP:i-a123b456
.
*
* SentTimestamp
- Returns the time the message was sent to the
* queue (epoch time in milliseconds).
*
* MessageDeduplicationId
- Returns the value provided by the
* sender that calls the SendMessage
action.
*
* MessageGroupId
- Returns the value provided by the sender
* that calls the SendMessage
action. Messages with
* the same MessageGroupId
are returned in sequence.
*
* SequenceNumber
- Returns the value provided by Amazon SQS.
*
* Any other valid special request parameters (such as the following) that * are specified are ignored: *
*
* ApproximateNumberOfMessages
*
* ApproximateNumberOfMessagesDelayed
*
* ApproximateNumberOfMessagesNotVisible
*
* CreatedTimestamp
*
* ContentBasedDeduplication
*
* DelaySeconds
*
* LastModifiedTimestamp
*
* MaximumMessageSize
*
* MessageRetentionPeriod
*
* Policy
*
* QueueArn
,
*
* ReceiveMessageWaitTimeSeconds
*
* RedrivePolicy
*
* FifoQueue
*
* VisibilityTimeout
*
* A list of attributes that need to be returned along with each * message. These attributes include: *
*
* All
- Returns all values.
*
* ApproximateFirstReceiveTimestamp
- Returns the
* time the message was first received from the queue (epoch time
* in milliseconds).
*
* ApproximateReceiveCount
- Returns the number of
* times a message has been received from the queue but not
* deleted.
*
* SenderId
*
* For an IAM user, returns the IAM user ID, for example
* ABCDEFGHI1JKLMNOPQ23R
.
*
* For an IAM role, returns the IAM role ID, for example
* ABCDE1F2GH3I4JK5LMNOP:i-a123b456
.
*
* SentTimestamp
- Returns the time the message was
* sent to the queue (epoch time in milliseconds).
*
* MessageDeduplicationId
- Returns the value
* provided by the sender that calls the
* SendMessage
action.
*
* MessageGroupId
- Returns the value provided by
* the sender that calls the SendMessage
* action. Messages with the same MessageGroupId
are
* returned in sequence.
*
* SequenceNumber
- Returns the value provided by
* Amazon SQS.
*
* Any other valid special request parameters (such as the * following) that are specified are ignored: *
*
* ApproximateNumberOfMessages
*
* ApproximateNumberOfMessagesDelayed
*
* ApproximateNumberOfMessagesNotVisible
*
* CreatedTimestamp
*
* ContentBasedDeduplication
*
* DelaySeconds
*
* LastModifiedTimestamp
*
* MaximumMessageSize
*
* MessageRetentionPeriod
*
* Policy
*
* QueueArn
,
*
* ReceiveMessageWaitTimeSeconds
*
* RedrivePolicy
*
* FifoQueue
*
* VisibilityTimeout
*
* A list of attributes that need to be returned along with each message. * These attributes include: *
*
* All
- Returns all values.
*
* ApproximateFirstReceiveTimestamp
- Returns the time the
* message was first received from the queue (epoch time in milliseconds).
*
* ApproximateReceiveCount
- Returns the number of times a
* message has been received from the queue but not deleted.
*
* SenderId
*
* For an IAM user, returns the IAM user ID, for example
* ABCDEFGHI1JKLMNOPQ23R
.
*
* For an IAM role, returns the IAM role ID, for example
* ABCDE1F2GH3I4JK5LMNOP:i-a123b456
.
*
* SentTimestamp
- Returns the time the message was sent to the
* queue (epoch time in milliseconds).
*
* MessageDeduplicationId
- Returns the value provided by the
* sender that calls the SendMessage
action.
*
* MessageGroupId
- Returns the value provided by the sender
* that calls the SendMessage
action. Messages with
* the same MessageGroupId
are returned in sequence.
*
* SequenceNumber
- Returns the value provided by Amazon SQS.
*
* Any other valid special request parameters (such as the following) that * are specified are ignored: *
*
* ApproximateNumberOfMessages
*
* ApproximateNumberOfMessagesDelayed
*
* ApproximateNumberOfMessagesNotVisible
*
* CreatedTimestamp
*
* ContentBasedDeduplication
*
* DelaySeconds
*
* LastModifiedTimestamp
*
* MaximumMessageSize
*
* MessageRetentionPeriod
*
* Policy
*
* QueueArn
,
*
* ReceiveMessageWaitTimeSeconds
*
* RedrivePolicy
*
* FifoQueue
*
* VisibilityTimeout
*
* Returns a reference to this object so that method calls can be chained * together. * * @param attributeNames
* A list of attributes that need to be returned along with each * message. These attributes include: *
*
* All
- Returns all values.
*
* ApproximateFirstReceiveTimestamp
- Returns the
* time the message was first received from the queue (epoch time
* in milliseconds).
*
* ApproximateReceiveCount
- Returns the number of
* times a message has been received from the queue but not
* deleted.
*
* SenderId
*
* For an IAM user, returns the IAM user ID, for example
* ABCDEFGHI1JKLMNOPQ23R
.
*
* For an IAM role, returns the IAM role ID, for example
* ABCDE1F2GH3I4JK5LMNOP:i-a123b456
.
*
* SentTimestamp
- Returns the time the message was
* sent to the queue (epoch time in milliseconds).
*
* MessageDeduplicationId
- Returns the value
* provided by the sender that calls the
* SendMessage
action.
*
* MessageGroupId
- Returns the value provided by
* the sender that calls the SendMessage
* action. Messages with the same MessageGroupId
are
* returned in sequence.
*
* SequenceNumber
- Returns the value provided by
* Amazon SQS.
*
* Any other valid special request parameters (such as the * following) that are specified are ignored: *
*
* ApproximateNumberOfMessages
*
* ApproximateNumberOfMessagesDelayed
*
* ApproximateNumberOfMessagesNotVisible
*
* CreatedTimestamp
*
* ContentBasedDeduplication
*
* DelaySeconds
*
* LastModifiedTimestamp
*
* MaximumMessageSize
*
* MessageRetentionPeriod
*
* Policy
*
* QueueArn
,
*
* ReceiveMessageWaitTimeSeconds
*
* RedrivePolicy
*
* FifoQueue
*
* VisibilityTimeout
*
* A list of attributes that need to be returned along with each message. * These attributes include: *
*
* All
- Returns all values.
*
* ApproximateFirstReceiveTimestamp
- Returns the time the
* message was first received from the queue (epoch time in milliseconds).
*
* ApproximateReceiveCount
- Returns the number of times a
* message has been received from the queue but not deleted.
*
* SenderId
*
* For an IAM user, returns the IAM user ID, for example
* ABCDEFGHI1JKLMNOPQ23R
.
*
* For an IAM role, returns the IAM role ID, for example
* ABCDE1F2GH3I4JK5LMNOP:i-a123b456
.
*
* SentTimestamp
- Returns the time the message was sent to the
* queue (epoch time in milliseconds).
*
* MessageDeduplicationId
- Returns the value provided by the
* sender that calls the SendMessage
action.
*
* MessageGroupId
- Returns the value provided by the sender
* that calls the SendMessage
action. Messages with
* the same MessageGroupId
are returned in sequence.
*
* SequenceNumber
- Returns the value provided by Amazon SQS.
*
* Any other valid special request parameters (such as the following) that * are specified are ignored: *
*
* ApproximateNumberOfMessages
*
* ApproximateNumberOfMessagesDelayed
*
* ApproximateNumberOfMessagesNotVisible
*
* CreatedTimestamp
*
* ContentBasedDeduplication
*
* DelaySeconds
*
* LastModifiedTimestamp
*
* MaximumMessageSize
*
* MessageRetentionPeriod
*
* Policy
*
* QueueArn
,
*
* ReceiveMessageWaitTimeSeconds
*
* RedrivePolicy
*
* FifoQueue
*
* VisibilityTimeout
*
* Returns a reference to this object so that method calls can be chained * together. * * @param attributeNames
* A list of attributes that need to be returned along with each * message. These attributes include: *
*
* All
- Returns all values.
*
* ApproximateFirstReceiveTimestamp
- Returns the
* time the message was first received from the queue (epoch time
* in milliseconds).
*
* ApproximateReceiveCount
- Returns the number of
* times a message has been received from the queue but not
* deleted.
*
* SenderId
*
* For an IAM user, returns the IAM user ID, for example
* ABCDEFGHI1JKLMNOPQ23R
.
*
* For an IAM role, returns the IAM role ID, for example
* ABCDE1F2GH3I4JK5LMNOP:i-a123b456
.
*
* SentTimestamp
- Returns the time the message was
* sent to the queue (epoch time in milliseconds).
*
* MessageDeduplicationId
- Returns the value
* provided by the sender that calls the
* SendMessage
action.
*
* MessageGroupId
- Returns the value provided by
* the sender that calls the SendMessage
* action. Messages with the same MessageGroupId
are
* returned in sequence.
*
* SequenceNumber
- Returns the value provided by
* Amazon SQS.
*
* Any other valid special request parameters (such as the * following) that are specified are ignored: *
*
* ApproximateNumberOfMessages
*
* ApproximateNumberOfMessagesDelayed
*
* ApproximateNumberOfMessagesNotVisible
*
* CreatedTimestamp
*
* ContentBasedDeduplication
*
* DelaySeconds
*
* LastModifiedTimestamp
*
* MaximumMessageSize
*
* MessageRetentionPeriod
*
* Policy
*
* QueueArn
,
*
* ReceiveMessageWaitTimeSeconds
*
* RedrivePolicy
*
* FifoQueue
*
* VisibilityTimeout
*
* The name of the message attribute, where N is the index. The * message attribute name can contain the following characters: A-Z, a-z, * 0-9, underscore (_), hyphen (-), and period (.). The name must not start * or end with a period, and it should not have successive periods. The name * is case sensitive and must be unique among all attribute names for the * message. The name can be up to 256 characters long. The name can't start * with "AWS." or "Amazon." (or any variations in casing), because these * prefixes are reserved for use by Amazon Web Services. *
*
* When using ReceiveMessage
, you can send a list of attribute
* names to receive, or you can return all of the attributes by specifying
* "All" or ".*" in your request. You can also use "bar.*" to return all
* message attributes starting with the "bar" prefix.
*
* The name of the message attribute, where N is the index. * The message attribute name can contain the following characters: * A-Z, a-z, 0-9, underscore (_), hyphen (-), and period (.). The * name must not start or end with a period, and it should not have * successive periods. The name is case sensitive and must be unique * among all attribute names for the message. The name can be up to * 256 characters long. The name can't start with "AWS." or * "Amazon." (or any variations in casing), because these prefixes * are reserved for use by Amazon Web Services. *
*
* When using ReceiveMessage
, you can send a list of
* attribute names to receive, or you can return all of the
* attributes by specifying "All" or ".*" in your request. You can
* also use "bar.*" to return all message attributes starting with
* the "bar" prefix.
*
* The name of the message attribute, where N is the index. The * message attribute name can contain the following characters: A-Z, a-z, * 0-9, underscore (_), hyphen (-), and period (.). The name must not start * or end with a period, and it should not have successive periods. The name * is case sensitive and must be unique among all attribute names for the * message. The name can be up to 256 characters long. The name can't start * with "AWS." or "Amazon." (or any variations in casing), because these * prefixes are reserved for use by Amazon Web Services. *
*
* When using ReceiveMessage
, you can send a list of attribute
* names to receive, or you can return all of the attributes by specifying
* "All" or ".*" in your request. You can also use "bar.*" to return all
* message attributes starting with the "bar" prefix.
*
* The name of the message attribute, where N is the * index. The message attribute name can contain the following * characters: A-Z, a-z, 0-9, underscore (_), hyphen (-), and * period (.). The name must not start or end with a period, and * it should not have successive periods. The name is case * sensitive and must be unique among all attribute names for the * message. The name can be up to 256 characters long. The name * can't start with "AWS." or "Amazon." (or any variations in * casing), because these prefixes are reserved for use by Amazon * Web Services. *
*
* When using ReceiveMessage
, you can send a list of
* attribute names to receive, or you can return all of the
* attributes by specifying "All" or ".*" in your request. You
* can also use "bar.*" to return all message attributes starting
* with the "bar" prefix.
*
* The name of the message attribute, where N is the index. The * message attribute name can contain the following characters: A-Z, a-z, * 0-9, underscore (_), hyphen (-), and period (.). The name must not start * or end with a period, and it should not have successive periods. The name * is case sensitive and must be unique among all attribute names for the * message. The name can be up to 256 characters long. The name can't start * with "AWS." or "Amazon." (or any variations in casing), because these * prefixes are reserved for use by Amazon Web Services. *
*
* When using ReceiveMessage
, you can send a list of attribute
* names to receive, or you can return all of the attributes by specifying
* "All" or ".*" in your request. You can also use "bar.*" to return all
* message attributes starting with the "bar" prefix.
*
* Returns a reference to this object so that method calls can be chained * together. * * @param messageAttributeNames
* The name of the message attribute, where N is the * index. The message attribute name can contain the following * characters: A-Z, a-z, 0-9, underscore (_), hyphen (-), and * period (.). The name must not start or end with a period, and * it should not have successive periods. The name is case * sensitive and must be unique among all attribute names for the * message. The name can be up to 256 characters long. The name * can't start with "AWS." or "Amazon." (or any variations in * casing), because these prefixes are reserved for use by Amazon * Web Services. *
*
* When using ReceiveMessage
, you can send a list of
* attribute names to receive, or you can return all of the
* attributes by specifying "All" or ".*" in your request. You
* can also use "bar.*" to return all message attributes starting
* with the "bar" prefix.
*
* The name of the message attribute, where N is the index. The * message attribute name can contain the following characters: A-Z, a-z, * 0-9, underscore (_), hyphen (-), and period (.). The name must not start * or end with a period, and it should not have successive periods. The name * is case sensitive and must be unique among all attribute names for the * message. The name can be up to 256 characters long. The name can't start * with "AWS." or "Amazon." (or any variations in casing), because these * prefixes are reserved for use by Amazon Web Services. *
*
* When using ReceiveMessage
, you can send a list of attribute
* names to receive, or you can return all of the attributes by specifying
* "All" or ".*" in your request. You can also use "bar.*" to return all
* message attributes starting with the "bar" prefix.
*
* Returns a reference to this object so that method calls can be chained * together. * * @param messageAttributeNames
* The name of the message attribute, where N is the * index. The message attribute name can contain the following * characters: A-Z, a-z, 0-9, underscore (_), hyphen (-), and * period (.). The name must not start or end with a period, and * it should not have successive periods. The name is case * sensitive and must be unique among all attribute names for the * message. The name can be up to 256 characters long. The name * can't start with "AWS." or "Amazon." (or any variations in * casing), because these prefixes are reserved for use by Amazon * Web Services. *
*
* When using ReceiveMessage
, you can send a list of
* attribute names to receive, or you can return all of the
* attributes by specifying "All" or ".*" in your request. You
* can also use "bar.*" to return all message attributes starting
* with the "bar" prefix.
*
* The maximum number of messages to return. Amazon SQS never returns more * messages than this value but might return fewer. Values can be from 1 to * 10. Default is 1. *
** All of the messages are not necessarily returned. *
* * @return* The maximum number of messages to return. Amazon SQS never * returns more messages than this value but might return fewer. * Values can be from 1 to 10. Default is 1. *
** All of the messages are not necessarily returned. *
*/ public Integer getMaxNumberOfMessages() { return maxNumberOfMessages; } /** ** The maximum number of messages to return. Amazon SQS never returns more * messages than this value but might return fewer. Values can be from 1 to * 10. Default is 1. *
** All of the messages are not necessarily returned. *
* * @param maxNumberOfMessages* The maximum number of messages to return. Amazon SQS never * returns more messages than this value but might return fewer. * Values can be from 1 to 10. Default is 1. *
** All of the messages are not necessarily returned. *
*/ public void setMaxNumberOfMessages(Integer maxNumberOfMessages) { this.maxNumberOfMessages = maxNumberOfMessages; } /** ** The maximum number of messages to return. Amazon SQS never returns more * messages than this value but might return fewer. Values can be from 1 to * 10. Default is 1. *
** All of the messages are not necessarily returned. *
** Returns a reference to this object so that method calls can be chained * together. * * @param maxNumberOfMessages
* The maximum number of messages to return. Amazon SQS never * returns more messages than this value but might return fewer. * Values can be from 1 to 10. Default is 1. *
** All of the messages are not necessarily returned. *
* @return A reference to this updated object so that method calls can be * chained together. */ public ReceiveMessageRequest withMaxNumberOfMessages(Integer maxNumberOfMessages) { this.maxNumberOfMessages = maxNumberOfMessages; return this; } /** *
* The duration (in seconds) that the received messages are hidden from
* subsequent retrieve requests after being retrieved by a
* ReceiveMessage
request.
*
* The duration (in seconds) that the received messages are hidden
* from subsequent retrieve requests after being retrieved by a
* ReceiveMessage
request.
*
* The duration (in seconds) that the received messages are hidden from
* subsequent retrieve requests after being retrieved by a
* ReceiveMessage
request.
*
* The duration (in seconds) that the received messages are
* hidden from subsequent retrieve requests after being retrieved
* by a ReceiveMessage
request.
*
* The duration (in seconds) that the received messages are hidden from
* subsequent retrieve requests after being retrieved by a
* ReceiveMessage
request.
*
* Returns a reference to this object so that method calls can be chained * together. * * @param visibilityTimeout
* The duration (in seconds) that the received messages are
* hidden from subsequent retrieve requests after being retrieved
* by a ReceiveMessage
request.
*
* The duration (in seconds) for which the call will wait for a message to * arrive in the queue before returning. If a message is available, the call * will return sooner than WaitTimeSeconds. *
* * @return* The duration (in seconds) for which the call will wait for a * message to arrive in the queue before returning. If a message is * available, the call will return sooner than WaitTimeSeconds. *
*/ public Integer getWaitTimeSeconds() { return waitTimeSeconds; } /** ** The duration (in seconds) for which the call will wait for a message to * arrive in the queue before returning. If a message is available, the call * will return sooner than WaitTimeSeconds. *
* * @param waitTimeSeconds* The duration (in seconds) for which the call will wait for a * message to arrive in the queue before returning. If a message * is available, the call will return sooner than * WaitTimeSeconds. *
*/ public void setWaitTimeSeconds(Integer waitTimeSeconds) { this.waitTimeSeconds = waitTimeSeconds; } /** ** The duration (in seconds) for which the call will wait for a message to * arrive in the queue before returning. If a message is available, the call * will return sooner than WaitTimeSeconds. *
** Returns a reference to this object so that method calls can be chained * together. * * @param waitTimeSeconds
* The duration (in seconds) for which the call will wait for a * message to arrive in the queue before returning. If a message * is available, the call will return sooner than * WaitTimeSeconds. *
* @return A reference to this updated object so that method calls can be * chained together. */ public ReceiveMessageRequest withWaitTimeSeconds(Integer waitTimeSeconds) { this.waitTimeSeconds = waitTimeSeconds; return this; } /** ** This parameter applies only to FIFO (first-in-first-out) queues. *
*
* The token used for deduplication of ReceiveMessage
calls. If
* a networking issue occurs after a ReceiveMessage
action, and
* instead of a response you receive a generic error, you can retry the same
* action with an identical ReceiveRequestAttemptId
to retrieve
* the same set of messages, even if their visibility timeout has not yet
* expired.
*
* You can use ReceiveRequestAttemptId
only for 5 minutes after
* a ReceiveMessage
action.
*
* When you set FifoQueue
, a caller of the
* ReceiveMessage
action can provide a
* ReceiveRequestAttemptId
explicitly.
*
* If a caller of the ReceiveMessage
action doesn't provide a
* ReceiveRequestAttemptId
, Amazon SQS generates a
* ReceiveRequestAttemptId
.
*
* You can retry the ReceiveMessage
action with the same
* ReceiveRequestAttemptId
if none of the messages have been
* modified (deleted or had their visibility changes).
*
* During a visibility timeout, subsequent calls with the same
* ReceiveRequestAttemptId
return the same messages and receipt
* handles. If a retry occurs within the deduplication interval, it resets
* the visibility timeout. For more information, see Visibility Timeout in the Amazon Simple Queue Service Developer
* Guide.
*
* If a caller of the ReceiveMessage
action is still processing
* messages when the visibility timeout expires and messages become visible,
* another worker reading from the same queue can receive the same messages
* and therefore process duplicates. Also, if a reader whose message
* processing time is longer than the visibility timeout tries to delete the
* processed messages, the action fails with an error.
*
* To mitigate this effect, ensure that your application observes a safe * threshold before the visibility timeout expires and extend the visibility * timeout as necessary. *
*
* While messages with a particular MessageGroupId
are
* invisible, no more messages belonging to the same
* MessageGroupId
are returned until the visibility timeout
* expires. You can still receive messages with another
* MessageGroupId
as long as it is also visible.
*
* If a caller of ReceiveMessage
can't track the
* ReceiveRequestAttemptId
, no retries will work until the
* original visibility timeout expires. As a result, delays might occur but
* the messages in the queue will remain in a strict order.
*
* The length of ReceiveRequestAttemptId
is 128 characters.
* ReceiveRequestAttemptId
can contain alphanumeric characters
* (a-z
, A-Z
, 0-9
) and punctuation (
* !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
).
*
* For best practices of using ReceiveRequestAttemptId
, see Using the ReceiveRequestAttemptId Request Parameter in the Amazon
* Simple Queue Service Developer Guide.
*
* This parameter applies only to FIFO (first-in-first-out) queues. *
*
* The token used for deduplication of ReceiveMessage
* calls. If a networking issue occurs after a
* ReceiveMessage
action, and instead of a response you
* receive a generic error, you can retry the same action with an
* identical ReceiveRequestAttemptId
to retrieve the
* same set of messages, even if their visibility timeout has not
* yet expired.
*
* You can use ReceiveRequestAttemptId
only for 5
* minutes after a ReceiveMessage
action.
*
* When you set FifoQueue
, a caller of the
* ReceiveMessage
action can provide a
* ReceiveRequestAttemptId
explicitly.
*
* If a caller of the ReceiveMessage
action doesn't
* provide a ReceiveRequestAttemptId
, Amazon SQS
* generates a ReceiveRequestAttemptId
.
*
* You can retry the ReceiveMessage
action with the
* same ReceiveRequestAttemptId
if none of the messages
* have been modified (deleted or had their visibility changes).
*
* During a visibility timeout, subsequent calls with the same
* ReceiveRequestAttemptId
return the same messages and
* receipt handles. If a retry occurs within the deduplication
* interval, it resets the visibility timeout. For more information,
* see Visibility Timeout in the Amazon Simple Queue Service
* Developer Guide.
*
* If a caller of the ReceiveMessage
action is still
* processing messages when the visibility timeout expires and
* messages become visible, another worker reading from the same
* queue can receive the same messages and therefore process
* duplicates. Also, if a reader whose message processing time is
* longer than the visibility timeout tries to delete the processed
* messages, the action fails with an error.
*
* To mitigate this effect, ensure that your application observes a * safe threshold before the visibility timeout expires and extend * the visibility timeout as necessary. *
*
* While messages with a particular MessageGroupId
are
* invisible, no more messages belonging to the same
* MessageGroupId
are returned until the visibility
* timeout expires. You can still receive messages with another
* MessageGroupId
as long as it is also visible.
*
* If a caller of ReceiveMessage
can't track the
* ReceiveRequestAttemptId
, no retries will work until
* the original visibility timeout expires. As a result, delays
* might occur but the messages in the queue will remain in a strict
* order.
*
* The length of ReceiveRequestAttemptId
is 128
* characters. ReceiveRequestAttemptId
can contain
* alphanumeric characters (a-z
, A-Z
,
* 0-9
) and punctuation (
* !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
).
*
* For best practices of using ReceiveRequestAttemptId
,
* see Using the ReceiveRequestAttemptId Request Parameter in the
* Amazon Simple Queue Service Developer Guide.
*
* This parameter applies only to FIFO (first-in-first-out) queues. *
*
* The token used for deduplication of ReceiveMessage
calls. If
* a networking issue occurs after a ReceiveMessage
action, and
* instead of a response you receive a generic error, you can retry the same
* action with an identical ReceiveRequestAttemptId
to retrieve
* the same set of messages, even if their visibility timeout has not yet
* expired.
*
* You can use ReceiveRequestAttemptId
only for 5 minutes after
* a ReceiveMessage
action.
*
* When you set FifoQueue
, a caller of the
* ReceiveMessage
action can provide a
* ReceiveRequestAttemptId
explicitly.
*
* If a caller of the ReceiveMessage
action doesn't provide a
* ReceiveRequestAttemptId
, Amazon SQS generates a
* ReceiveRequestAttemptId
.
*
* You can retry the ReceiveMessage
action with the same
* ReceiveRequestAttemptId
if none of the messages have been
* modified (deleted or had their visibility changes).
*
* During a visibility timeout, subsequent calls with the same
* ReceiveRequestAttemptId
return the same messages and receipt
* handles. If a retry occurs within the deduplication interval, it resets
* the visibility timeout. For more information, see Visibility Timeout in the Amazon Simple Queue Service Developer
* Guide.
*
* If a caller of the ReceiveMessage
action is still processing
* messages when the visibility timeout expires and messages become visible,
* another worker reading from the same queue can receive the same messages
* and therefore process duplicates. Also, if a reader whose message
* processing time is longer than the visibility timeout tries to delete the
* processed messages, the action fails with an error.
*
* To mitigate this effect, ensure that your application observes a safe * threshold before the visibility timeout expires and extend the visibility * timeout as necessary. *
*
* While messages with a particular MessageGroupId
are
* invisible, no more messages belonging to the same
* MessageGroupId
are returned until the visibility timeout
* expires. You can still receive messages with another
* MessageGroupId
as long as it is also visible.
*
* If a caller of ReceiveMessage
can't track the
* ReceiveRequestAttemptId
, no retries will work until the
* original visibility timeout expires. As a result, delays might occur but
* the messages in the queue will remain in a strict order.
*
* The length of ReceiveRequestAttemptId
is 128 characters.
* ReceiveRequestAttemptId
can contain alphanumeric characters
* (a-z
, A-Z
, 0-9
) and punctuation (
* !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
).
*
* For best practices of using ReceiveRequestAttemptId
, see Using the ReceiveRequestAttemptId Request Parameter in the Amazon
* Simple Queue Service Developer Guide.
*
* This parameter applies only to FIFO (first-in-first-out) * queues. *
*
* The token used for deduplication of
* ReceiveMessage
calls. If a networking issue
* occurs after a ReceiveMessage
action, and instead
* of a response you receive a generic error, you can retry the
* same action with an identical
* ReceiveRequestAttemptId
to retrieve the same set
* of messages, even if their visibility timeout has not yet
* expired.
*
* You can use ReceiveRequestAttemptId
only for 5
* minutes after a ReceiveMessage
action.
*
* When you set FifoQueue
, a caller of the
* ReceiveMessage
action can provide a
* ReceiveRequestAttemptId
explicitly.
*
* If a caller of the ReceiveMessage
action doesn't
* provide a ReceiveRequestAttemptId
, Amazon SQS
* generates a ReceiveRequestAttemptId
.
*
* You can retry the ReceiveMessage
action with the
* same ReceiveRequestAttemptId
if none of the
* messages have been modified (deleted or had their visibility
* changes).
*
* During a visibility timeout, subsequent calls with the same
* ReceiveRequestAttemptId
return the same messages
* and receipt handles. If a retry occurs within the
* deduplication interval, it resets the visibility timeout. For
* more information, see Visibility Timeout in the Amazon Simple Queue Service
* Developer Guide.
*
* If a caller of the ReceiveMessage
action is still
* processing messages when the visibility timeout expires and
* messages become visible, another worker reading from the same
* queue can receive the same messages and therefore process
* duplicates. Also, if a reader whose message processing time is
* longer than the visibility timeout tries to delete the
* processed messages, the action fails with an error.
*
* To mitigate this effect, ensure that your application observes * a safe threshold before the visibility timeout expires and * extend the visibility timeout as necessary. *
*
* While messages with a particular MessageGroupId
* are invisible, no more messages belonging to the same
* MessageGroupId
are returned until the visibility
* timeout expires. You can still receive messages with another
* MessageGroupId
as long as it is also visible.
*
* If a caller of ReceiveMessage
can't track the
* ReceiveRequestAttemptId
, no retries will work
* until the original visibility timeout expires. As a result,
* delays might occur but the messages in the queue will remain
* in a strict order.
*
* The length of ReceiveRequestAttemptId
is 128
* characters. ReceiveRequestAttemptId
can contain
* alphanumeric characters (a-z
, A-Z
,
* 0-9
) and punctuation (
* !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
).
*
* For best practices of using
* ReceiveRequestAttemptId
, see Using the ReceiveRequestAttemptId Request Parameter in
* the Amazon Simple Queue Service Developer Guide.
*
* This parameter applies only to FIFO (first-in-first-out) queues. *
*
* The token used for deduplication of ReceiveMessage
calls. If
* a networking issue occurs after a ReceiveMessage
action, and
* instead of a response you receive a generic error, you can retry the same
* action with an identical ReceiveRequestAttemptId
to retrieve
* the same set of messages, even if their visibility timeout has not yet
* expired.
*
* You can use ReceiveRequestAttemptId
only for 5 minutes after
* a ReceiveMessage
action.
*
* When you set FifoQueue
, a caller of the
* ReceiveMessage
action can provide a
* ReceiveRequestAttemptId
explicitly.
*
* If a caller of the ReceiveMessage
action doesn't provide a
* ReceiveRequestAttemptId
, Amazon SQS generates a
* ReceiveRequestAttemptId
.
*
* You can retry the ReceiveMessage
action with the same
* ReceiveRequestAttemptId
if none of the messages have been
* modified (deleted or had their visibility changes).
*
* During a visibility timeout, subsequent calls with the same
* ReceiveRequestAttemptId
return the same messages and receipt
* handles. If a retry occurs within the deduplication interval, it resets
* the visibility timeout. For more information, see Visibility Timeout in the Amazon Simple Queue Service Developer
* Guide.
*
* If a caller of the ReceiveMessage
action is still processing
* messages when the visibility timeout expires and messages become visible,
* another worker reading from the same queue can receive the same messages
* and therefore process duplicates. Also, if a reader whose message
* processing time is longer than the visibility timeout tries to delete the
* processed messages, the action fails with an error.
*
* To mitigate this effect, ensure that your application observes a safe * threshold before the visibility timeout expires and extend the visibility * timeout as necessary. *
*
* While messages with a particular MessageGroupId
are
* invisible, no more messages belonging to the same
* MessageGroupId
are returned until the visibility timeout
* expires. You can still receive messages with another
* MessageGroupId
as long as it is also visible.
*
* If a caller of ReceiveMessage
can't track the
* ReceiveRequestAttemptId
, no retries will work until the
* original visibility timeout expires. As a result, delays might occur but
* the messages in the queue will remain in a strict order.
*
* The length of ReceiveRequestAttemptId
is 128 characters.
* ReceiveRequestAttemptId
can contain alphanumeric characters
* (a-z
, A-Z
, 0-9
) and punctuation (
* !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
).
*
* For best practices of using ReceiveRequestAttemptId
, see Using the ReceiveRequestAttemptId Request Parameter in the Amazon
* Simple Queue Service Developer Guide.
*
* Returns a reference to this object so that method calls can be chained * together. * * @param receiveRequestAttemptId
* This parameter applies only to FIFO (first-in-first-out) * queues. *
*
* The token used for deduplication of
* ReceiveMessage
calls. If a networking issue
* occurs after a ReceiveMessage
action, and instead
* of a response you receive a generic error, you can retry the
* same action with an identical
* ReceiveRequestAttemptId
to retrieve the same set
* of messages, even if their visibility timeout has not yet
* expired.
*
* You can use ReceiveRequestAttemptId
only for 5
* minutes after a ReceiveMessage
action.
*
* When you set FifoQueue
, a caller of the
* ReceiveMessage
action can provide a
* ReceiveRequestAttemptId
explicitly.
*
* If a caller of the ReceiveMessage
action doesn't
* provide a ReceiveRequestAttemptId
, Amazon SQS
* generates a ReceiveRequestAttemptId
.
*
* You can retry the ReceiveMessage
action with the
* same ReceiveRequestAttemptId
if none of the
* messages have been modified (deleted or had their visibility
* changes).
*
* During a visibility timeout, subsequent calls with the same
* ReceiveRequestAttemptId
return the same messages
* and receipt handles. If a retry occurs within the
* deduplication interval, it resets the visibility timeout. For
* more information, see Visibility Timeout in the Amazon Simple Queue Service
* Developer Guide.
*
* If a caller of the ReceiveMessage
action is still
* processing messages when the visibility timeout expires and
* messages become visible, another worker reading from the same
* queue can receive the same messages and therefore process
* duplicates. Also, if a reader whose message processing time is
* longer than the visibility timeout tries to delete the
* processed messages, the action fails with an error.
*
* To mitigate this effect, ensure that your application observes * a safe threshold before the visibility timeout expires and * extend the visibility timeout as necessary. *
*
* While messages with a particular MessageGroupId
* are invisible, no more messages belonging to the same
* MessageGroupId
are returned until the visibility
* timeout expires. You can still receive messages with another
* MessageGroupId
as long as it is also visible.
*
* If a caller of ReceiveMessage
can't track the
* ReceiveRequestAttemptId
, no retries will work
* until the original visibility timeout expires. As a result,
* delays might occur but the messages in the queue will remain
* in a strict order.
*
* The length of ReceiveRequestAttemptId
is 128
* characters. ReceiveRequestAttemptId
can contain
* alphanumeric characters (a-z
, A-Z
,
* 0-9
) and punctuation (
* !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
).
*
* For best practices of using
* ReceiveRequestAttemptId
, see Using the ReceiveRequestAttemptId Request Parameter in
* the Amazon Simple Queue Service Developer Guide.
*