com.amazonaws.services.sqs.model.ReceiveMessageRequest Maven / Gradle / Ivy
Show all versions of aws-java-sdk-sqs Show documentation
/*
* Copyright 2019-2024 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 javax.annotation.Generated;
import com.amazonaws.AmazonWebServiceRequest;
/**
*
*
* @see AWS API
* Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class ReceiveMessageRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable {
/**
*
* The URL of the Amazon SQS queue from which messages are received.
*
*
* Queue URLs and names are case-sensitive.
*
*/
private String queueUrl;
/**
*
*
* This parameter has been deprecated but will be supported for backward compatibility. To provide attribute names,
* you are encouraged to use MessageSystemAttributeNames
.
*
*
*
* 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 across all queues
* but not deleted.
*
*
* -
*
* AWSTraceHeader
– Returns the X-Ray trace header string.
*
*
* -
*
* SenderId
*
*
* -
*
* For a user, returns the 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).
*
*
* -
*
* SqsManagedSseEnabled
– Enables server-side queue encryption using SQS owned encryption keys. Only
* one server-side encryption option is supported per queue (for example, SSE-KMS or SSE-SQS).
*
*
* -
*
* MessageDeduplicationId
– Returns the value provided by the producer that calls the
* SendMessage
action.
*
*
* -
*
* MessageGroupId
– Returns the value provided by the producer that calls the
* SendMessage
action. Messages with the same MessageGroupId
are returned in
* sequence.
*
*
* -
*
* SequenceNumber
– Returns the value provided by Amazon SQS.
*
*
*
*/
@Deprecated
private com.amazonaws.internal.SdkInternalList 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 across all queues
* but not deleted.
*
*
* -
*
* AWSTraceHeader
– Returns the X-Ray trace header string.
*
*
* -
*
* SenderId
*
*
* -
*
* For a user, returns the 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).
*
*
* -
*
* SqsManagedSseEnabled
– Enables server-side queue encryption using SQS owned encryption keys. Only
* one server-side encryption option is supported per queue (for example, SSE-KMS or SSE-SQS).
*
*
* -
*
* MessageDeduplicationId
– Returns the value provided by the producer that calls the
* SendMessage
action.
*
*
* -
*
* MessageGroupId
– Returns the value provided by the producer that calls the
* SendMessage
action. Messages with the same MessageGroupId
are returned in
* sequence.
*
*
* -
*
* SequenceNumber
– Returns the value provided by Amazon SQS.
*
*
*
*/
private com.amazonaws.internal.SdkInternalList messageSystemAttributeNames;
/**
*
* The name of the message attribute, where N is the index.
*
*
* -
*
* The name can contain alphanumeric characters and the underscore (_
), hyphen (-
), and
* period (.
).
*
*
* -
*
* The name is case-sensitive and must be unique among all attribute names for the message.
*
*
* -
*
* The name must not start with AWS-reserved prefixes such as AWS.
or Amazon.
(or any
* casing variants).
*
*
* -
*
* The name must not start or end with a period (.
), and it should not have periods in succession (
* ..
).
*
*
* -
*
* The name can be up to 256 characters long.
*
*
*
*
* 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 all message
* attributes starting with a prefix, for example bar.*
.
*
*/
private com.amazonaws.internal.SdkInternalList messageAttributeNames;
/**
*
* The maximum number of messages to return. Amazon SQS never returns more messages than this value (however, fewer
* messages might be returned). Valid values: 1 to 10. Default: 1.
*
*/
private Integer maxNumberOfMessages;
/**
*
* The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being
* retrieved by a ReceiveMessage
request.
*
*/
private Integer visibilityTimeout;
/**
*
* 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 does not return a message list.
*
*
*
* To avoid HTTP errors, ensure that the HTTP response timeout for ReceiveMessage
requests is longer
* than the WaitTimeSeconds
parameter. For example, with the Java SDK, you can set HTTP transport
* settings using the
* NettyNioAsyncHttpClient for asynchronous clients, or the
* ApacheHttpClient for synchronous clients.
*
*
*/
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, it is possible to
* 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.
*
*
* -
*
* It is possible to 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 SQS Developer Guide.
*
*
*
* If a caller of the ReceiveMessage
action still processes messages when the visibility timeout
* expires and messages become visible, another worker consuming from the same queue can receive the same messages
* and therefore process duplicates. Also, if a consumer 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 work
* until the original visibility timeout expires. As a result, delays might occur but the messages in the queue
* remain in a strict order.
*
*
*
*
* The maximum 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 SQS Developer Guide.
*
*/
private String receiveRequestAttemptId;
/**
* Default constructor for ReceiveMessageRequest object. Callers should use the setter or fluent setter (with...)
* methods to initialize the object after creating it.
*/
public ReceiveMessageRequest() {
}
/**
* Constructs a new ReceiveMessageRequest object. Callers should use the setter or fluent setter (with...) methods
* to initialize any additional object members.
*
* @param queueUrl
* The URL of the Amazon SQS queue from which messages are received.
*
* Queue URLs and names are case-sensitive.
*/
public ReceiveMessageRequest(String queueUrl) {
setQueueUrl(queueUrl);
}
/**
*
* The URL of the Amazon SQS queue from which messages are received.
*
*
* Queue URLs and names are case-sensitive.
*
*
* @param queueUrl
* The URL of the Amazon SQS queue from which messages are received.
*
* Queue URLs and names are case-sensitive.
*/
public void setQueueUrl(String queueUrl) {
this.queueUrl = queueUrl;
}
/**
*
* The URL of the Amazon SQS queue from which messages are received.
*
*
* Queue URLs and names are case-sensitive.
*
*
* @return The URL of the Amazon SQS queue from which messages are received.
*
* Queue URLs and names are case-sensitive.
*/
public String getQueueUrl() {
return this.queueUrl;
}
/**
*
* The URL of the Amazon SQS queue from which messages are received.
*
*
* Queue URLs and names are case-sensitive.
*
*
* @param queueUrl
* The URL of the Amazon SQS queue from which messages are received.
*
* Queue URLs and names are case-sensitive.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReceiveMessageRequest withQueueUrl(String queueUrl) {
setQueueUrl(queueUrl);
return this;
}
/**
*
*
* This parameter has been deprecated but will be supported for backward compatibility. To provide attribute names,
* you are encouraged to use MessageSystemAttributeNames
.
*
*
*
* 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 across all queues
* but not deleted.
*
*
* -
*
* AWSTraceHeader
– Returns the X-Ray trace header string.
*
*
* -
*
* SenderId
*
*
* -
*
* For a user, returns the 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).
*
*
* -
*
* SqsManagedSseEnabled
– Enables server-side queue encryption using SQS owned encryption keys. Only
* one server-side encryption option is supported per queue (for example, SSE-KMS or SSE-SQS).
*
*
* -
*
* MessageDeduplicationId
– Returns the value provided by the producer that calls the
* SendMessage
action.
*
*
* -
*
* MessageGroupId
– Returns the value provided by the producer that calls the
* SendMessage
action. Messages with the same MessageGroupId
are returned in
* sequence.
*
*
* -
*
* SequenceNumber
– Returns the value provided by Amazon SQS.
*
*
*
*
* @return
* This parameter has been deprecated but will be supported for backward compatibility. To provide attribute
* names, you are encouraged to use MessageSystemAttributeNames
.
*
*
*
* 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 across all
* queues but not deleted.
*
*
* -
*
* AWSTraceHeader
– Returns the X-Ray trace header string.
*
*
* -
*
* SenderId
*
*
* -
*
* For a user, returns the 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).
*
*
* -
*
* SqsManagedSseEnabled
– Enables server-side queue encryption using SQS owned encryption keys.
* Only one server-side encryption option is supported per queue (for example, SSE-KMS or SSE-SQS).
*
*
* -
*
* MessageDeduplicationId
– Returns the value provided by the producer that calls the
* SendMessage
action.
*
*
* -
*
* MessageGroupId
– Returns the value provided by the producer that calls the
* SendMessage
action. Messages with the same MessageGroupId
are returned
* in sequence.
*
*
* -
*
* SequenceNumber
– Returns the value provided by Amazon SQS.
*
*
* @see QueueAttributeName
*/
@Deprecated
public java.util.List getAttributeNames() {
if (attributeNames == null) {
attributeNames = new com.amazonaws.internal.SdkInternalList();
}
return attributeNames;
}
/**
*
*
* This parameter has been deprecated but will be supported for backward compatibility. To provide attribute names,
* you are encouraged to use MessageSystemAttributeNames
.
*
*
*
* 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 across all queues
* but not deleted.
*
*
* -
*
* AWSTraceHeader
– Returns the X-Ray trace header string.
*
*
* -
*
* SenderId
*
*
* -
*
* For a user, returns the 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).
*
*
* -
*
* SqsManagedSseEnabled
– Enables server-side queue encryption using SQS owned encryption keys. Only
* one server-side encryption option is supported per queue (for example, SSE-KMS or SSE-SQS).
*
*
* -
*
* MessageDeduplicationId
– Returns the value provided by the producer that calls the
* SendMessage
action.
*
*
* -
*
* MessageGroupId
– Returns the value provided by the producer that calls the
* SendMessage
action. Messages with the same MessageGroupId
are returned in
* sequence.
*
*
* -
*
* SequenceNumber
– Returns the value provided by Amazon SQS.
*
*
*
*
* @param attributeNames
*
* This parameter has been deprecated but will be supported for backward compatibility. To provide attribute
* names, you are encouraged to use MessageSystemAttributeNames
.
*
*
*
* 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 across all
* queues but not deleted.
*
*
* -
*
* AWSTraceHeader
– Returns the X-Ray trace header string.
*
*
* -
*
* SenderId
*
*
* -
*
* For a user, returns the 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).
*
*
* -
*
* SqsManagedSseEnabled
– Enables server-side queue encryption using SQS owned encryption keys.
* Only one server-side encryption option is supported per queue (for example, SSE-KMS or SSE-SQS).
*
*
* -
*
* MessageDeduplicationId
– Returns the value provided by the producer that calls the
* SendMessage
action.
*
*
* -
*
* MessageGroupId
– Returns the value provided by the producer that calls the
* SendMessage
action. Messages with the same MessageGroupId
are returned
* in sequence.
*
*
* -
*
* SequenceNumber
– Returns the value provided by Amazon SQS.
*
*
* @see QueueAttributeName
*/
@Deprecated
public void setAttributeNames(java.util.Collection attributeNames) {
if (attributeNames == null) {
this.attributeNames = null;
return;
}
this.attributeNames = new com.amazonaws.internal.SdkInternalList(attributeNames);
}
/**
*
*
* This parameter has been deprecated but will be supported for backward compatibility. To provide attribute names,
* you are encouraged to use MessageSystemAttributeNames
.
*
*
*
* 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 across all queues
* but not deleted.
*
*
* -
*
* AWSTraceHeader
– Returns the X-Ray trace header string.
*
*
* -
*
* SenderId
*
*
* -
*
* For a user, returns the 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).
*
*
* -
*
* SqsManagedSseEnabled
– Enables server-side queue encryption using SQS owned encryption keys. Only
* one server-side encryption option is supported per queue (for example, SSE-KMS or SSE-SQS).
*
*
* -
*
* MessageDeduplicationId
– Returns the value provided by the producer that calls the
* SendMessage
action.
*
*
* -
*
* MessageGroupId
– Returns the value provided by the producer that calls the
* SendMessage
action. Messages with the same MessageGroupId
are returned in
* sequence.
*
*
* -
*
* SequenceNumber
– Returns the value provided by Amazon SQS.
*
*
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setAttributeNames(java.util.Collection)} or {@link #withAttributeNames(java.util.Collection)} if you want
* to override the existing values.
*
*
* @param attributeNames
*
* This parameter has been deprecated but will be supported for backward compatibility. To provide attribute
* names, you are encouraged to use MessageSystemAttributeNames
.
*
*
*
* 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 across all
* queues but not deleted.
*
*
* -
*
* AWSTraceHeader
– Returns the X-Ray trace header string.
*
*
* -
*
* SenderId
*
*
* -
*
* For a user, returns the 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).
*
*
* -
*
* SqsManagedSseEnabled
– Enables server-side queue encryption using SQS owned encryption keys.
* Only one server-side encryption option is supported per queue (for example, SSE-KMS or SSE-SQS).
*
*
* -
*
* MessageDeduplicationId
– Returns the value provided by the producer that calls the
* SendMessage
action.
*
*
* -
*
* MessageGroupId
– Returns the value provided by the producer that calls the
* SendMessage
action. Messages with the same MessageGroupId
are returned
* in sequence.
*
*
* -
*
* SequenceNumber
– Returns the value provided by Amazon SQS.
*
*
* @return Returns a reference to this object so that method calls can be chained together.
* @see QueueAttributeName
*/
@Deprecated
public ReceiveMessageRequest withAttributeNames(String... attributeNames) {
if (this.attributeNames == null) {
setAttributeNames(new com.amazonaws.internal.SdkInternalList(attributeNames.length));
}
for (String ele : attributeNames) {
this.attributeNames.add(ele);
}
return this;
}
/**
*
*
* This parameter has been deprecated but will be supported for backward compatibility. To provide attribute names,
* you are encouraged to use MessageSystemAttributeNames
.
*
*
*
* 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 across all queues
* but not deleted.
*
*
* -
*
* AWSTraceHeader
– Returns the X-Ray trace header string.
*
*
* -
*
* SenderId
*
*
* -
*
* For a user, returns the 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).
*
*
* -
*
* SqsManagedSseEnabled
– Enables server-side queue encryption using SQS owned encryption keys. Only
* one server-side encryption option is supported per queue (for example, SSE-KMS or SSE-SQS).
*
*
* -
*
* MessageDeduplicationId
– Returns the value provided by the producer that calls the
* SendMessage
action.
*
*
* -
*
* MessageGroupId
– Returns the value provided by the producer that calls the
* SendMessage
action. Messages with the same MessageGroupId
are returned in
* sequence.
*
*
* -
*
* SequenceNumber
– Returns the value provided by Amazon SQS.
*
*
*
*
* @param attributeNames
*
* This parameter has been deprecated but will be supported for backward compatibility. To provide attribute
* names, you are encouraged to use MessageSystemAttributeNames
.
*
*
*
* 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 across all
* queues but not deleted.
*
*
* -
*
* AWSTraceHeader
– Returns the X-Ray trace header string.
*
*
* -
*
* SenderId
*
*
* -
*
* For a user, returns the 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).
*
*
* -
*
* SqsManagedSseEnabled
– Enables server-side queue encryption using SQS owned encryption keys.
* Only one server-side encryption option is supported per queue (for example, SSE-KMS or SSE-SQS).
*
*
* -
*
* MessageDeduplicationId
– Returns the value provided by the producer that calls the
* SendMessage
action.
*
*
* -
*
* MessageGroupId
– Returns the value provided by the producer that calls the
* SendMessage
action. Messages with the same MessageGroupId
are returned
* in sequence.
*
*
* -
*
* SequenceNumber
– Returns the value provided by Amazon SQS.
*
*
* @return Returns a reference to this object so that method calls can be chained together.
* @see QueueAttributeName
*/
@Deprecated
public ReceiveMessageRequest withAttributeNames(java.util.Collection attributeNames) {
setAttributeNames(attributeNames);
return this;
}
/**
*
*
* This parameter has been deprecated but will be supported for backward compatibility. To provide attribute names,
* you are encouraged to use MessageSystemAttributeNames
.
*
*
*
* 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 across all queues
* but not deleted.
*
*
* -
*
* AWSTraceHeader
– Returns the X-Ray trace header string.
*
*
* -
*
* SenderId
*
*
* -
*
* For a user, returns the 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).
*
*
* -
*
* SqsManagedSseEnabled
– Enables server-side queue encryption using SQS owned encryption keys. Only
* one server-side encryption option is supported per queue (for example, SSE-KMS or SSE-SQS).
*
*
* -
*
* MessageDeduplicationId
– Returns the value provided by the producer that calls the
* SendMessage
action.
*
*
* -
*
* MessageGroupId
– Returns the value provided by the producer that calls the
* SendMessage
action. Messages with the same MessageGroupId
are returned in
* sequence.
*
*
* -
*
* SequenceNumber
– Returns the value provided by Amazon SQS.
*
*
*
*
* @param attributeNames
*
* This parameter has been deprecated but will be supported for backward compatibility. To provide attribute
* names, you are encouraged to use MessageSystemAttributeNames
.
*
*
*
* 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 across all
* queues but not deleted.
*
*
* -
*
* AWSTraceHeader
– Returns the X-Ray trace header string.
*
*
* -
*
* SenderId
*
*
* -
*
* For a user, returns the 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).
*
*
* -
*
* SqsManagedSseEnabled
– Enables server-side queue encryption using SQS owned encryption keys.
* Only one server-side encryption option is supported per queue (for example, SSE-KMS or SSE-SQS).
*
*
* -
*
* MessageDeduplicationId
– Returns the value provided by the producer that calls the
* SendMessage
action.
*
*
* -
*
* MessageGroupId
– Returns the value provided by the producer that calls the
* SendMessage
action. Messages with the same MessageGroupId
are returned
* in sequence.
*
*
* -
*
* SequenceNumber
– Returns the value provided by Amazon SQS.
*
*
* @return Returns a reference to this object so that method calls can be chained together.
* @see QueueAttributeName
*/
@Deprecated
public ReceiveMessageRequest withAttributeNames(QueueAttributeName... attributeNames) {
com.amazonaws.internal.SdkInternalList attributeNamesCopy = new com.amazonaws.internal.SdkInternalList(attributeNames.length);
for (QueueAttributeName value : attributeNames) {
attributeNamesCopy.add(value.toString());
}
if (getAttributeNames() == null) {
setAttributeNames(attributeNamesCopy);
} else {
getAttributeNames().addAll(attributeNamesCopy);
}
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 across all queues
* but not deleted.
*
*
* -
*
* AWSTraceHeader
– Returns the X-Ray trace header string.
*
*
* -
*
* SenderId
*
*
* -
*
* For a user, returns the 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).
*
*
* -
*
* SqsManagedSseEnabled
– Enables server-side queue encryption using SQS owned encryption keys. Only
* one server-side encryption option is supported per queue (for example, SSE-KMS or SSE-SQS).
*
*
* -
*
* MessageDeduplicationId
– Returns the value provided by the producer that calls the
* SendMessage
action.
*
*
* -
*
* MessageGroupId
– Returns the value provided by the producer that calls the
* SendMessage
action. Messages with the same MessageGroupId
are returned in
* sequence.
*
*
* -
*
* SequenceNumber
– Returns the value provided by Amazon SQS.
*
*
*
*
* @return 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 across all
* queues but not deleted.
*
*
* -
*
* AWSTraceHeader
– Returns the X-Ray trace header string.
*
*
* -
*
* SenderId
*
*
* -
*
* For a user, returns the 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).
*
*
* -
*
* SqsManagedSseEnabled
– Enables server-side queue encryption using SQS owned encryption keys.
* Only one server-side encryption option is supported per queue (for example, SSE-KMS or SSE-SQS).
*
*
* -
*
* MessageDeduplicationId
– Returns the value provided by the producer that calls the
* SendMessage
action.
*
*
* -
*
* MessageGroupId
– Returns the value provided by the producer that calls the
* SendMessage
action. Messages with the same MessageGroupId
are returned
* in sequence.
*
*
* -
*
* SequenceNumber
– Returns the value provided by Amazon SQS.
*
*
* @see MessageSystemAttributeName
*/
public java.util.List getMessageSystemAttributeNames() {
if (messageSystemAttributeNames == null) {
messageSystemAttributeNames = new com.amazonaws.internal.SdkInternalList();
}
return messageSystemAttributeNames;
}
/**
*
* 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 across all queues
* but not deleted.
*
*
* -
*
* AWSTraceHeader
– Returns the X-Ray trace header string.
*
*
* -
*
* SenderId
*
*
* -
*
* For a user, returns the 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).
*
*
* -
*
* SqsManagedSseEnabled
– Enables server-side queue encryption using SQS owned encryption keys. Only
* one server-side encryption option is supported per queue (for example, SSE-KMS or SSE-SQS).
*
*
* -
*
* MessageDeduplicationId
– Returns the value provided by the producer that calls the
* SendMessage
action.
*
*
* -
*
* MessageGroupId
– Returns the value provided by the producer that calls the
* SendMessage
action. Messages with the same MessageGroupId
are returned in
* sequence.
*
*
* -
*
* SequenceNumber
– Returns the value provided by Amazon SQS.
*
*
*
*
* @param messageSystemAttributeNames
* 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 across all
* queues but not deleted.
*
*
* -
*
* AWSTraceHeader
– Returns the X-Ray trace header string.
*
*
* -
*
* SenderId
*
*
* -
*
* For a user, returns the 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).
*
*
* -
*
* SqsManagedSseEnabled
– Enables server-side queue encryption using SQS owned encryption keys.
* Only one server-side encryption option is supported per queue (for example, SSE-KMS or SSE-SQS).
*
*
* -
*
* MessageDeduplicationId
– Returns the value provided by the producer that calls the
* SendMessage
action.
*
*
* -
*
* MessageGroupId
– Returns the value provided by the producer that calls the
* SendMessage
action. Messages with the same MessageGroupId
are returned
* in sequence.
*
*
* -
*
* SequenceNumber
– Returns the value provided by Amazon SQS.
*
*
* @see MessageSystemAttributeName
*/
public void setMessageSystemAttributeNames(java.util.Collection messageSystemAttributeNames) {
if (messageSystemAttributeNames == null) {
this.messageSystemAttributeNames = null;
return;
}
this.messageSystemAttributeNames = new com.amazonaws.internal.SdkInternalList(messageSystemAttributeNames);
}
/**
*
* 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 across all queues
* but not deleted.
*
*
* -
*
* AWSTraceHeader
– Returns the X-Ray trace header string.
*
*
* -
*
* SenderId
*
*
* -
*
* For a user, returns the 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).
*
*
* -
*
* SqsManagedSseEnabled
– Enables server-side queue encryption using SQS owned encryption keys. Only
* one server-side encryption option is supported per queue (for example, SSE-KMS or SSE-SQS).
*
*
* -
*
* MessageDeduplicationId
– Returns the value provided by the producer that calls the
* SendMessage
action.
*
*
* -
*
* MessageGroupId
– Returns the value provided by the producer that calls the
* SendMessage
action. Messages with the same MessageGroupId
are returned in
* sequence.
*
*
* -
*
* SequenceNumber
– Returns the value provided by Amazon SQS.
*
*
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setMessageSystemAttributeNames(java.util.Collection)} or
* {@link #withMessageSystemAttributeNames(java.util.Collection)} if you want to override the existing values.
*
*
* @param messageSystemAttributeNames
* 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 across all
* queues but not deleted.
*
*
* -
*
* AWSTraceHeader
– Returns the X-Ray trace header string.
*
*
* -
*
* SenderId
*
*
* -
*
* For a user, returns the 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).
*
*
* -
*
* SqsManagedSseEnabled
– Enables server-side queue encryption using SQS owned encryption keys.
* Only one server-side encryption option is supported per queue (for example, SSE-KMS or SSE-SQS).
*
*
* -
*
* MessageDeduplicationId
– Returns the value provided by the producer that calls the
* SendMessage
action.
*
*
* -
*
* MessageGroupId
– Returns the value provided by the producer that calls the
* SendMessage
action. Messages with the same MessageGroupId
are returned
* in sequence.
*
*
* -
*
* SequenceNumber
– Returns the value provided by Amazon SQS.
*
*
* @return Returns a reference to this object so that method calls can be chained together.
* @see MessageSystemAttributeName
*/
public ReceiveMessageRequest withMessageSystemAttributeNames(String... messageSystemAttributeNames) {
if (this.messageSystemAttributeNames == null) {
setMessageSystemAttributeNames(new com.amazonaws.internal.SdkInternalList(messageSystemAttributeNames.length));
}
for (String ele : messageSystemAttributeNames) {
this.messageSystemAttributeNames.add(ele);
}
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 across all queues
* but not deleted.
*
*
* -
*
* AWSTraceHeader
– Returns the X-Ray trace header string.
*
*
* -
*
* SenderId
*
*
* -
*
* For a user, returns the 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).
*
*
* -
*
* SqsManagedSseEnabled
– Enables server-side queue encryption using SQS owned encryption keys. Only
* one server-side encryption option is supported per queue (for example, SSE-KMS or SSE-SQS).
*
*
* -
*
* MessageDeduplicationId
– Returns the value provided by the producer that calls the
* SendMessage
action.
*
*
* -
*
* MessageGroupId
– Returns the value provided by the producer that calls the
* SendMessage
action. Messages with the same MessageGroupId
are returned in
* sequence.
*
*
* -
*
* SequenceNumber
– Returns the value provided by Amazon SQS.
*
*
*
*
* @param messageSystemAttributeNames
* 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 across all
* queues but not deleted.
*
*
* -
*
* AWSTraceHeader
– Returns the X-Ray trace header string.
*
*
* -
*
* SenderId
*
*
* -
*
* For a user, returns the 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).
*
*
* -
*
* SqsManagedSseEnabled
– Enables server-side queue encryption using SQS owned encryption keys.
* Only one server-side encryption option is supported per queue (for example, SSE-KMS or SSE-SQS).
*
*
* -
*
* MessageDeduplicationId
– Returns the value provided by the producer that calls the
* SendMessage
action.
*
*
* -
*
* MessageGroupId
– Returns the value provided by the producer that calls the
* SendMessage
action. Messages with the same MessageGroupId
are returned
* in sequence.
*
*
* -
*
* SequenceNumber
– Returns the value provided by Amazon SQS.
*
*
* @return Returns a reference to this object so that method calls can be chained together.
* @see MessageSystemAttributeName
*/
public ReceiveMessageRequest withMessageSystemAttributeNames(java.util.Collection messageSystemAttributeNames) {
setMessageSystemAttributeNames(messageSystemAttributeNames);
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 across all queues
* but not deleted.
*
*
* -
*
* AWSTraceHeader
– Returns the X-Ray trace header string.
*
*
* -
*
* SenderId
*
*
* -
*
* For a user, returns the 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).
*
*
* -
*
* SqsManagedSseEnabled
– Enables server-side queue encryption using SQS owned encryption keys. Only
* one server-side encryption option is supported per queue (for example, SSE-KMS or SSE-SQS).
*
*
* -
*
* MessageDeduplicationId
– Returns the value provided by the producer that calls the
* SendMessage
action.
*
*
* -
*
* MessageGroupId
– Returns the value provided by the producer that calls the
* SendMessage
action. Messages with the same MessageGroupId
are returned in
* sequence.
*
*
* -
*
* SequenceNumber
– Returns the value provided by Amazon SQS.
*
*
*
*
* @param messageSystemAttributeNames
* 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 across all
* queues but not deleted.
*
*
* -
*
* AWSTraceHeader
– Returns the X-Ray trace header string.
*
*
* -
*
* SenderId
*
*
* -
*
* For a user, returns the 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).
*
*
* -
*
* SqsManagedSseEnabled
– Enables server-side queue encryption using SQS owned encryption keys.
* Only one server-side encryption option is supported per queue (for example, SSE-KMS or SSE-SQS).
*
*
* -
*
* MessageDeduplicationId
– Returns the value provided by the producer that calls the
* SendMessage
action.
*
*
* -
*
* MessageGroupId
– Returns the value provided by the producer that calls the
* SendMessage
action. Messages with the same MessageGroupId
are returned
* in sequence.
*
*
* -
*
* SequenceNumber
– Returns the value provided by Amazon SQS.
*
*
* @return Returns a reference to this object so that method calls can be chained together.
* @see MessageSystemAttributeName
*/
public ReceiveMessageRequest withMessageSystemAttributeNames(MessageSystemAttributeName... messageSystemAttributeNames) {
com.amazonaws.internal.SdkInternalList messageSystemAttributeNamesCopy = new com.amazonaws.internal.SdkInternalList(
messageSystemAttributeNames.length);
for (MessageSystemAttributeName value : messageSystemAttributeNames) {
messageSystemAttributeNamesCopy.add(value.toString());
}
if (getMessageSystemAttributeNames() == null) {
setMessageSystemAttributeNames(messageSystemAttributeNamesCopy);
} else {
getMessageSystemAttributeNames().addAll(messageSystemAttributeNamesCopy);
}
return this;
}
/**
*
* The name of the message attribute, where N is the index.
*
*
* -
*
* The name can contain alphanumeric characters and the underscore (_
), hyphen (-
), and
* period (.
).
*
*
* -
*
* The name is case-sensitive and must be unique among all attribute names for the message.
*
*
* -
*
* The name must not start with AWS-reserved prefixes such as AWS.
or Amazon.
(or any
* casing variants).
*
*
* -
*
* The name must not start or end with a period (.
), and it should not have periods in succession (
* ..
).
*
*
* -
*
* The name can be up to 256 characters long.
*
*
*
*
* 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 all message
* attributes starting with a prefix, for example bar.*
.
*
*
* @return The name of the message attribute, where N is the index.
*
* -
*
* The name can contain alphanumeric characters and the underscore (_
), hyphen (-
* ), and period (.
).
*
*
* -
*
* The name is case-sensitive and must be unique among all attribute names for the message.
*
*
* -
*
* The name must not start with AWS-reserved prefixes such as AWS.
or Amazon.
(or
* any casing variants).
*
*
* -
*
* The name must not start or end with a period (.
), and it should not have periods in
* succession (..
).
*
*
* -
*
* The name can be up to 256 characters long.
*
*
*
*
* 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 all message attributes starting with a prefix, for example bar.*
.
*/
public java.util.List getMessageAttributeNames() {
if (messageAttributeNames == null) {
messageAttributeNames = new com.amazonaws.internal.SdkInternalList();
}
return messageAttributeNames;
}
/**
*
* The name of the message attribute, where N is the index.
*
*
* -
*
* The name can contain alphanumeric characters and the underscore (_
), hyphen (-
), and
* period (.
).
*
*
* -
*
* The name is case-sensitive and must be unique among all attribute names for the message.
*
*
* -
*
* The name must not start with AWS-reserved prefixes such as AWS.
or Amazon.
(or any
* casing variants).
*
*
* -
*
* The name must not start or end with a period (.
), and it should not have periods in succession (
* ..
).
*
*
* -
*
* The name can be up to 256 characters long.
*
*
*
*
* 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 all message
* attributes starting with a prefix, for example bar.*
.
*
*
* @param messageAttributeNames
* The name of the message attribute, where N is the index.
*
* -
*
* The name can contain alphanumeric characters and the underscore (_
), hyphen (-
),
* and period (.
).
*
*
* -
*
* The name is case-sensitive and must be unique among all attribute names for the message.
*
*
* -
*
* The name must not start with AWS-reserved prefixes such as AWS.
or Amazon.
(or
* any casing variants).
*
*
* -
*
* The name must not start or end with a period (.
), and it should not have periods in
* succession (..
).
*
*
* -
*
* The name can be up to 256 characters long.
*
*
*
*
* 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 all message attributes starting with a prefix, for example bar.*
.
*/
public void setMessageAttributeNames(java.util.Collection messageAttributeNames) {
if (messageAttributeNames == null) {
this.messageAttributeNames = null;
return;
}
this.messageAttributeNames = new com.amazonaws.internal.SdkInternalList(messageAttributeNames);
}
/**
*
* The name of the message attribute, where N is the index.
*
*
* -
*
* The name can contain alphanumeric characters and the underscore (_
), hyphen (-
), and
* period (.
).
*
*
* -
*
* The name is case-sensitive and must be unique among all attribute names for the message.
*
*
* -
*
* The name must not start with AWS-reserved prefixes such as AWS.
or Amazon.
(or any
* casing variants).
*
*
* -
*
* The name must not start or end with a period (.
), and it should not have periods in succession (
* ..
).
*
*
* -
*
* The name can be up to 256 characters long.
*
*
*
*
* 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 all message
* attributes starting with a prefix, for example bar.*
.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setMessageAttributeNames(java.util.Collection)} or
* {@link #withMessageAttributeNames(java.util.Collection)} if you want to override the existing values.
*
*
* @param messageAttributeNames
* The name of the message attribute, where N is the index.
*
* -
*
* The name can contain alphanumeric characters and the underscore (_
), hyphen (-
),
* and period (.
).
*
*
* -
*
* The name is case-sensitive and must be unique among all attribute names for the message.
*
*
* -
*
* The name must not start with AWS-reserved prefixes such as AWS.
or Amazon.
(or
* any casing variants).
*
*
* -
*
* The name must not start or end with a period (.
), and it should not have periods in
* succession (..
).
*
*
* -
*
* The name can be up to 256 characters long.
*
*
*
*
* 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 all message attributes starting with a prefix, for example bar.*
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReceiveMessageRequest withMessageAttributeNames(String... messageAttributeNames) {
if (this.messageAttributeNames == null) {
setMessageAttributeNames(new com.amazonaws.internal.SdkInternalList(messageAttributeNames.length));
}
for (String ele : messageAttributeNames) {
this.messageAttributeNames.add(ele);
}
return this;
}
/**
*
* The name of the message attribute, where N is the index.
*
*
* -
*
* The name can contain alphanumeric characters and the underscore (_
), hyphen (-
), and
* period (.
).
*
*
* -
*
* The name is case-sensitive and must be unique among all attribute names for the message.
*
*
* -
*
* The name must not start with AWS-reserved prefixes such as AWS.
or Amazon.
(or any
* casing variants).
*
*
* -
*
* The name must not start or end with a period (.
), and it should not have periods in succession (
* ..
).
*
*
* -
*
* The name can be up to 256 characters long.
*
*
*
*
* 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 all message
* attributes starting with a prefix, for example bar.*
.
*
*
* @param messageAttributeNames
* The name of the message attribute, where N is the index.
*
* -
*
* The name can contain alphanumeric characters and the underscore (_
), hyphen (-
),
* and period (.
).
*
*
* -
*
* The name is case-sensitive and must be unique among all attribute names for the message.
*
*
* -
*
* The name must not start with AWS-reserved prefixes such as AWS.
or Amazon.
(or
* any casing variants).
*
*
* -
*
* The name must not start or end with a period (.
), and it should not have periods in
* succession (..
).
*
*
* -
*
* The name can be up to 256 characters long.
*
*
*
*
* 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 all message attributes starting with a prefix, for example bar.*
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReceiveMessageRequest withMessageAttributeNames(java.util.Collection messageAttributeNames) {
setMessageAttributeNames(messageAttributeNames);
return this;
}
/**
*
* The maximum number of messages to return. Amazon SQS never returns more messages than this value (however, fewer
* messages might be returned). Valid values: 1 to 10. Default: 1.
*
*
* @param maxNumberOfMessages
* The maximum number of messages to return. Amazon SQS never returns more messages than this value (however,
* fewer messages might be returned). Valid values: 1 to 10. Default: 1.
*/
public void setMaxNumberOfMessages(Integer maxNumberOfMessages) {
this.maxNumberOfMessages = maxNumberOfMessages;
}
/**
*
* The maximum number of messages to return. Amazon SQS never returns more messages than this value (however, fewer
* messages might be returned). Valid values: 1 to 10. Default: 1.
*
*
* @return The maximum number of messages to return. Amazon SQS never returns more messages than this value
* (however, fewer messages might be returned). Valid values: 1 to 10. Default: 1.
*/
public Integer getMaxNumberOfMessages() {
return this.maxNumberOfMessages;
}
/**
*
* The maximum number of messages to return. Amazon SQS never returns more messages than this value (however, fewer
* messages might be returned). Valid values: 1 to 10. Default: 1.
*
*
* @param maxNumberOfMessages
* The maximum number of messages to return. Amazon SQS never returns more messages than this value (however,
* fewer messages might be returned). Valid values: 1 to 10. Default: 1.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReceiveMessageRequest withMaxNumberOfMessages(Integer maxNumberOfMessages) {
setMaxNumberOfMessages(maxNumberOfMessages);
return this;
}
/**
*
* The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being
* retrieved by a ReceiveMessage
request.
*
*
* @param visibilityTimeout
* The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after
* being retrieved by a ReceiveMessage
request.
*/
public void setVisibilityTimeout(Integer visibilityTimeout) {
this.visibilityTimeout = visibilityTimeout;
}
/**
*
* The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being
* retrieved by a ReceiveMessage
request.
*
*
* @return The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after
* being retrieved by a ReceiveMessage
request.
*/
public Integer getVisibilityTimeout() {
return this.visibilityTimeout;
}
/**
*
* The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being
* retrieved by a ReceiveMessage
request.
*
*
* @param visibilityTimeout
* The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after
* being retrieved by a ReceiveMessage
request.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReceiveMessageRequest withVisibilityTimeout(Integer visibilityTimeout) {
setVisibilityTimeout(visibilityTimeout);
return this;
}
/**
*
* 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 does not return a message list.
*
*
*
* To avoid HTTP errors, ensure that the HTTP response timeout for ReceiveMessage
requests is longer
* than the WaitTimeSeconds
parameter. For example, with the Java SDK, you can set HTTP transport
* settings using the
* NettyNioAsyncHttpClient for asynchronous clients, or the
* ApacheHttpClient for synchronous clients.
*
*
*
* @param waitTimeSeconds
* 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 does not return a message list.
*
* To avoid HTTP errors, ensure that the HTTP response timeout for ReceiveMessage
requests is
* longer than the WaitTimeSeconds
parameter. For example, with the Java SDK, you can set HTTP
* transport settings using the NettyNioAsyncHttpClient for asynchronous clients, or the
* ApacheHttpClient for synchronous clients.
*
*/
public void setWaitTimeSeconds(Integer waitTimeSeconds) {
this.waitTimeSeconds = waitTimeSeconds;
}
/**
*
* 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 does not return a message list.
*
*
*
* To avoid HTTP errors, ensure that the HTTP response timeout for ReceiveMessage
requests is longer
* than the WaitTimeSeconds
parameter. For example, with the Java SDK, you can set HTTP transport
* settings using the
* NettyNioAsyncHttpClient for asynchronous clients, or the
* ApacheHttpClient for synchronous clients.
*
*
*
* @return 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 does not return a message list.
*
* To avoid HTTP errors, ensure that the HTTP response timeout for ReceiveMessage
requests is
* longer than the WaitTimeSeconds
parameter. For example, with the Java SDK, you can set HTTP
* transport settings using the NettyNioAsyncHttpClient for asynchronous clients, or the
* ApacheHttpClient for synchronous clients.
*
*/
public Integer getWaitTimeSeconds() {
return this.waitTimeSeconds;
}
/**
*
* 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 does not return a message list.
*
*
*
* To avoid HTTP errors, ensure that the HTTP response timeout for ReceiveMessage
requests is longer
* than the WaitTimeSeconds
parameter. For example, with the Java SDK, you can set HTTP transport
* settings using the
* NettyNioAsyncHttpClient for asynchronous clients, or the
* ApacheHttpClient for synchronous clients.
*
*
*
* @param waitTimeSeconds
* 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 does not return a message list.
*
* To avoid HTTP errors, ensure that the HTTP response timeout for ReceiveMessage
requests is
* longer than the WaitTimeSeconds
parameter. For example, with the Java SDK, you can set HTTP
* transport settings using the NettyNioAsyncHttpClient for asynchronous clients, or the
* ApacheHttpClient for synchronous clients.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReceiveMessageRequest withWaitTimeSeconds(Integer waitTimeSeconds) {
setWaitTimeSeconds(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, it is possible to
* 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.
*
*
* -
*
* It is possible to 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 SQS Developer Guide.
*
*
*
* If a caller of the ReceiveMessage
action still processes messages when the visibility timeout
* expires and messages become visible, another worker consuming from the same queue can receive the same messages
* and therefore process duplicates. Also, if a consumer 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 work
* until the original visibility timeout expires. As a result, delays might occur but the messages in the queue
* remain in a strict order.
*
*
*
*
* The maximum 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 SQS Developer Guide.
*
*
* @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, it is
* possible to 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.
*
*
* -
*
* It is possible to 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 SQS Developer Guide.
*
*
*
* If a caller of the ReceiveMessage
action still processes messages when the visibility timeout
* expires and messages become visible, another worker consuming from the same queue can receive the same
* messages and therefore process duplicates. Also, if a consumer 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 work until the original visibility timeout expires. As a result, delays might occur but the
* messages in the queue remain in a strict order.
*
*
*
*
* The maximum 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 SQS Developer Guide.
*/
public void setReceiveRequestAttemptId(String receiveRequestAttemptId) {
this.receiveRequestAttemptId = 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, it is possible to
* 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.
*
*
* -
*
* It is possible to 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 SQS Developer Guide.
*
*
*
* If a caller of the ReceiveMessage
action still processes messages when the visibility timeout
* expires and messages become visible, another worker consuming from the same queue can receive the same messages
* and therefore process duplicates. Also, if a consumer 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 work
* until the original visibility timeout expires. As a result, delays might occur but the messages in the queue
* remain in a strict order.
*
*
*
*
* The maximum 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 SQS Developer Guide.
*
*
* @return 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, it is
* possible to 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.
*
*
* -
*
* It is possible to 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 SQS Developer Guide.
*
*
*
* If a caller of the ReceiveMessage
action still processes messages when the visibility
* timeout expires and messages become visible, another worker consuming from the same queue can receive the
* same messages and therefore process duplicates. Also, if a consumer 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 work until the original visibility timeout expires. As a result, delays might occur but the
* messages in the queue remain in a strict order.
*
*
*
*
* The maximum 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 SQS Developer Guide.
*/
public String getReceiveRequestAttemptId() {
return this.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, it is possible to
* 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.
*
*
* -
*
* It is possible to 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 SQS Developer Guide.
*
*
*
* If a caller of the ReceiveMessage
action still processes messages when the visibility timeout
* expires and messages become visible, another worker consuming from the same queue can receive the same messages
* and therefore process duplicates. Also, if a consumer 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 work
* until the original visibility timeout expires. As a result, delays might occur but the messages in the queue
* remain in a strict order.
*
*
*
*
* The maximum 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 SQS Developer Guide.
*
*
* @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, it is
* possible to 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.
*
*
* -
*
* It is possible to 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 SQS Developer Guide.
*
*
*
* If a caller of the ReceiveMessage
action still processes messages when the visibility timeout
* expires and messages become visible, another worker consuming from the same queue can receive the same
* messages and therefore process duplicates. Also, if a consumer 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 work until the original visibility timeout expires. As a result, delays might occur but the
* messages in the queue remain in a strict order.
*
*
*
*
* The maximum 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 SQS Developer Guide.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReceiveMessageRequest withReceiveRequestAttemptId(String receiveRequestAttemptId) {
setReceiveRequestAttemptId(receiveRequestAttemptId);
return this;
}
/**
* Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be
* redacted from this string using a placeholder value.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getQueueUrl() != null)
sb.append("QueueUrl: ").append(getQueueUrl()).append(",");
if (getAttributeNames() != null)
sb.append("AttributeNames: ").append(getAttributeNames()).append(",");
if (getMessageSystemAttributeNames() != null)
sb.append("MessageSystemAttributeNames: ").append(getMessageSystemAttributeNames()).append(",");
if (getMessageAttributeNames() != null)
sb.append("MessageAttributeNames: ").append(getMessageAttributeNames()).append(",");
if (getMaxNumberOfMessages() != null)
sb.append("MaxNumberOfMessages: ").append(getMaxNumberOfMessages()).append(",");
if (getVisibilityTimeout() != null)
sb.append("VisibilityTimeout: ").append(getVisibilityTimeout()).append(",");
if (getWaitTimeSeconds() != null)
sb.append("WaitTimeSeconds: ").append(getWaitTimeSeconds()).append(",");
if (getReceiveRequestAttemptId() != null)
sb.append("ReceiveRequestAttemptId: ").append(getReceiveRequestAttemptId());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof ReceiveMessageRequest == false)
return false;
ReceiveMessageRequest other = (ReceiveMessageRequest) obj;
if (other.getQueueUrl() == null ^ this.getQueueUrl() == null)
return false;
if (other.getQueueUrl() != null && other.getQueueUrl().equals(this.getQueueUrl()) == false)
return false;
if (other.getAttributeNames() == null ^ this.getAttributeNames() == null)
return false;
if (other.getAttributeNames() != null && other.getAttributeNames().equals(this.getAttributeNames()) == false)
return false;
if (other.getMessageSystemAttributeNames() == null ^ this.getMessageSystemAttributeNames() == null)
return false;
if (other.getMessageSystemAttributeNames() != null && other.getMessageSystemAttributeNames().equals(this.getMessageSystemAttributeNames()) == false)
return false;
if (other.getMessageAttributeNames() == null ^ this.getMessageAttributeNames() == null)
return false;
if (other.getMessageAttributeNames() != null && other.getMessageAttributeNames().equals(this.getMessageAttributeNames()) == false)
return false;
if (other.getMaxNumberOfMessages() == null ^ this.getMaxNumberOfMessages() == null)
return false;
if (other.getMaxNumberOfMessages() != null && other.getMaxNumberOfMessages().equals(this.getMaxNumberOfMessages()) == false)
return false;
if (other.getVisibilityTimeout() == null ^ this.getVisibilityTimeout() == null)
return false;
if (other.getVisibilityTimeout() != null && other.getVisibilityTimeout().equals(this.getVisibilityTimeout()) == false)
return false;
if (other.getWaitTimeSeconds() == null ^ this.getWaitTimeSeconds() == null)
return false;
if (other.getWaitTimeSeconds() != null && other.getWaitTimeSeconds().equals(this.getWaitTimeSeconds()) == false)
return false;
if (other.getReceiveRequestAttemptId() == null ^ this.getReceiveRequestAttemptId() == null)
return false;
if (other.getReceiveRequestAttemptId() != null && other.getReceiveRequestAttemptId().equals(this.getReceiveRequestAttemptId()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getQueueUrl() == null) ? 0 : getQueueUrl().hashCode());
hashCode = prime * hashCode + ((getAttributeNames() == null) ? 0 : getAttributeNames().hashCode());
hashCode = prime * hashCode + ((getMessageSystemAttributeNames() == null) ? 0 : getMessageSystemAttributeNames().hashCode());
hashCode = prime * hashCode + ((getMessageAttributeNames() == null) ? 0 : getMessageAttributeNames().hashCode());
hashCode = prime * hashCode + ((getMaxNumberOfMessages() == null) ? 0 : getMaxNumberOfMessages().hashCode());
hashCode = prime * hashCode + ((getVisibilityTimeout() == null) ? 0 : getVisibilityTimeout().hashCode());
hashCode = prime * hashCode + ((getWaitTimeSeconds() == null) ? 0 : getWaitTimeSeconds().hashCode());
hashCode = prime * hashCode + ((getReceiveRequestAttemptId() == null) ? 0 : getReceiveRequestAttemptId().hashCode());
return hashCode;
}
@Override
public ReceiveMessageRequest clone() {
return (ReceiveMessageRequest) super.clone();
}
}