All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.sqs.model.ReceiveMessageRequest Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon SQS module holds the client classes that are used for communicating with Amazon Simple Queue Service

There is a newer version: 1.12.778
Show newest version
/*
 * 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(); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy