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.772
Show newest version
/*
 * Copyright 2013-2018 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; /** *

* A list of s that need to be returned along with each message. These attributes include: *

*
    *
  • *

    * All - Returns all values. *

    *
  • *
  • *

    * ApproximateFirstReceiveTimestamp - Returns the time the message was first received from the queue * (epoch time in milliseconds). *

    *
  • *
  • *

    * ApproximateReceiveCount - Returns the number of times a message has been received from the queue but * not deleted. *

    *
  • *
  • *

    * SenderId *

    *
      *
    • *

      * For an IAM user, returns the IAM user ID, for example ABCDEFGHI1JKLMNOPQ23R. *

      *
    • *
    • *

      * For an IAM role, returns the IAM role ID, for example ABCDE1F2GH3I4JK5LMNOP:i-a123b456. *

      *
    • *
    *
  • *
  • *

    * SentTimestamp - Returns the time the message was sent to the queue (epoch time in milliseconds). *

    *
  • *
  • *

    * MessageDeduplicationId - Returns the value provided by the 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 attributeNames; /** *

* 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 returns successfully with an empty list of messages. *

*/ private Integer waitTimeSeconds; /** *

* This parameter applies only to FIFO (first-in-first-out) queues. *

*

* The token used for deduplication of ReceiveMessage calls. If a networking issue occurs after a * ReceiveMessage action, and instead of a response you receive a generic error, you can retry the same * action with an identical ReceiveRequestAttemptId to retrieve the same set of messages, even if their * visibility timeout has not yet expired. *

*
    *
  • *

    * You can use ReceiveRequestAttemptId only for 5 minutes after a ReceiveMessage action. *

    *
  • *
  • *

    * When you set FifoQueue, a caller of the ReceiveMessage action can provide a * ReceiveRequestAttemptId explicitly. *

    *
  • *
  • *

    * If a caller of the ReceiveMessage action doesn't provide a ReceiveRequestAttemptId, * Amazon SQS generates a ReceiveRequestAttemptId. *

    *
  • *
  • *

    * You can retry the ReceiveMessage action with the same ReceiveRequestAttemptId if none * of the messages have been modified (deleted or had their visibility changes). *

    *
  • *
  • *

    * During a visibility timeout, subsequent calls with the same ReceiveRequestAttemptId return the same * messages and receipt handles. If a retry occurs within the deduplication interval, it resets the visibility * timeout. For more information, see Visibility Timeout in the Amazon Simple Queue Service Developer Guide. *

    * *

    * If a caller of the ReceiveMessage action 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 length of ReceiveRequestAttemptId is 128 characters. ReceiveRequestAttemptId can * contain alphanumeric characters (a-z, A-Z, 0-9) and punctuation ( * !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~). *

*

* For best practices of using ReceiveRequestAttemptId, see Using the ReceiveRequestAttemptId Request Parameter in the Amazon Simple Queue Service Developer * Guide. *

*/ 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; } /** *

* A list of s that need to be returned along with each message. These attributes include: *

*
    *
  • *

    * All - Returns all values. *

    *
  • *
  • *

    * ApproximateFirstReceiveTimestamp - Returns the time the message was first received from the queue * (epoch time in milliseconds). *

    *
  • *
  • *

    * ApproximateReceiveCount - Returns the number of times a message has been received from the queue but * not deleted. *

    *
  • *
  • *

    * SenderId *

    *
      *
    • *

      * For an IAM user, returns the IAM user ID, for example ABCDEFGHI1JKLMNOPQ23R. *

      *
    • *
    • *

      * For an IAM role, returns the IAM role ID, for example ABCDE1F2GH3I4JK5LMNOP:i-a123b456. *

      *
    • *
    *
  • *
  • *

    * SentTimestamp - Returns the time the message was sent to the queue (epoch time in milliseconds). *

    *
  • *
  • *

    * MessageDeduplicationId - Returns the value provided by the 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 s that need to be returned along with each message. These attributes include:

*
    *
  • *

    * All - Returns all values. *

    *
  • *
  • *

    * ApproximateFirstReceiveTimestamp - Returns the time the message was first received from the * queue (epoch time in milliseconds). *

    *
  • *
  • *

    * ApproximateReceiveCount - Returns the number of times a message has been received from the * queue but not deleted. *

    *
  • *
  • *

    * SenderId *

    *
      *
    • *

      * For an IAM user, returns the IAM user ID, for example ABCDEFGHI1JKLMNOPQ23R. *

      *
    • *
    • *

      * For an IAM role, returns the IAM role ID, for example ABCDE1F2GH3I4JK5LMNOP:i-a123b456. *

      *
    • *
    *
  • *
  • *

    * SentTimestamp - Returns the time the message was sent to the queue (epoch time in milliseconds). *

    *
  • *
  • *

    * MessageDeduplicationId - Returns the value provided by the 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 */ public java.util.List getAttributeNames() { if (attributeNames == null) { attributeNames = new com.amazonaws.internal.SdkInternalList(); } return attributeNames; } /** *

    * A list of s that need to be returned along with each message. These attributes include: *

    *
      *
    • *

      * All - Returns all values. *

      *
    • *
    • *

      * ApproximateFirstReceiveTimestamp - Returns the time the message was first received from the queue * (epoch time in milliseconds). *

      *
    • *
    • *

      * ApproximateReceiveCount - Returns the number of times a message has been received from the queue but * not deleted. *

      *
    • *
    • *

      * SenderId *

      *
        *
      • *

        * For an IAM user, returns the IAM user ID, for example ABCDEFGHI1JKLMNOPQ23R. *

        *
      • *
      • *

        * For an IAM role, returns the IAM role ID, for example ABCDE1F2GH3I4JK5LMNOP:i-a123b456. *

        *
      • *
      *
    • *
    • *

      * SentTimestamp - Returns the time the message was sent to the queue (epoch time in milliseconds). *

      *
    • *
    • *

      * MessageDeduplicationId - Returns the value provided by the 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 * A list of s that need to be returned along with each message. These attributes include:

    *
      *
    • *

      * All - Returns all values. *

      *
    • *
    • *

      * ApproximateFirstReceiveTimestamp - Returns the time the message was first received from the * queue (epoch time in milliseconds). *

      *
    • *
    • *

      * ApproximateReceiveCount - Returns the number of times a message has been received from the * queue but not deleted. *

      *
    • *
    • *

      * SenderId *

      *
        *
      • *

        * For an IAM user, returns the IAM user ID, for example ABCDEFGHI1JKLMNOPQ23R. *

        *
      • *
      • *

        * For an IAM role, returns the IAM role ID, for example ABCDE1F2GH3I4JK5LMNOP:i-a123b456. *

        *
      • *
      *
    • *
    • *

      * SentTimestamp - Returns the time the message was sent to the queue (epoch time in milliseconds). *

      *
    • *
    • *

      * MessageDeduplicationId - Returns the value provided by the 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 */ public void setAttributeNames(java.util.Collection attributeNames) { if (attributeNames == null) { this.attributeNames = null; return; } this.attributeNames = new com.amazonaws.internal.SdkInternalList(attributeNames); } /** *

      * A list of s that need to be returned along with each message. These attributes include: *

      *
        *
      • *

        * All - Returns all values. *

        *
      • *
      • *

        * ApproximateFirstReceiveTimestamp - Returns the time the message was first received from the queue * (epoch time in milliseconds). *

        *
      • *
      • *

        * ApproximateReceiveCount - Returns the number of times a message has been received from the queue but * not deleted. *

        *
      • *
      • *

        * SenderId *

        *
          *
        • *

          * For an IAM user, returns the IAM user ID, for example ABCDEFGHI1JKLMNOPQ23R. *

          *
        • *
        • *

          * For an IAM role, returns the IAM role ID, for example ABCDE1F2GH3I4JK5LMNOP:i-a123b456. *

          *
        • *
        *
      • *
      • *

        * SentTimestamp - Returns the time the message was sent to the queue (epoch time in milliseconds). *

        *
      • *
      • *

        * MessageDeduplicationId - Returns the value provided by the 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 * A list of s that need to be returned along with each message. These attributes include:

      *
        *
      • *

        * All - Returns all values. *

        *
      • *
      • *

        * ApproximateFirstReceiveTimestamp - Returns the time the message was first received from the * queue (epoch time in milliseconds). *

        *
      • *
      • *

        * ApproximateReceiveCount - Returns the number of times a message has been received from the * queue but not deleted. *

        *
      • *
      • *

        * SenderId *

        *
          *
        • *

          * For an IAM user, returns the IAM user ID, for example ABCDEFGHI1JKLMNOPQ23R. *

          *
        • *
        • *

          * For an IAM role, returns the IAM role ID, for example ABCDE1F2GH3I4JK5LMNOP:i-a123b456. *

          *
        • *
        *
      • *
      • *

        * SentTimestamp - Returns the time the message was sent to the queue (epoch time in milliseconds). *

        *
      • *
      • *

        * MessageDeduplicationId - Returns the value provided by the 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 */ 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; } /** *

        * A list of s that need to be returned along with each message. These attributes include: *

        *
          *
        • *

          * All - Returns all values. *

          *
        • *
        • *

          * ApproximateFirstReceiveTimestamp - Returns the time the message was first received from the queue * (epoch time in milliseconds). *

          *
        • *
        • *

          * ApproximateReceiveCount - Returns the number of times a message has been received from the queue but * not deleted. *

          *
        • *
        • *

          * SenderId *

          *
            *
          • *

            * For an IAM user, returns the IAM user ID, for example ABCDEFGHI1JKLMNOPQ23R. *

            *
          • *
          • *

            * For an IAM role, returns the IAM role ID, for example ABCDE1F2GH3I4JK5LMNOP:i-a123b456. *

            *
          • *
          *
        • *
        • *

          * SentTimestamp - Returns the time the message was sent to the queue (epoch time in milliseconds). *

          *
        • *
        • *

          * MessageDeduplicationId - Returns the value provided by the 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 * A list of s that need to be returned along with each message. These attributes include:

        *
          *
        • *

          * All - Returns all values. *

          *
        • *
        • *

          * ApproximateFirstReceiveTimestamp - Returns the time the message was first received from the * queue (epoch time in milliseconds). *

          *
        • *
        • *

          * ApproximateReceiveCount - Returns the number of times a message has been received from the * queue but not deleted. *

          *
        • *
        • *

          * SenderId *

          *
            *
          • *

            * For an IAM user, returns the IAM user ID, for example ABCDEFGHI1JKLMNOPQ23R. *

            *
          • *
          • *

            * For an IAM role, returns the IAM role ID, for example ABCDE1F2GH3I4JK5LMNOP:i-a123b456. *

            *
          • *
          *
        • *
        • *

          * SentTimestamp - Returns the time the message was sent to the queue (epoch time in milliseconds). *

          *
        • *
        • *

          * MessageDeduplicationId - Returns the value provided by the 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 */ public ReceiveMessageRequest withAttributeNames(java.util.Collection attributeNames) { setAttributeNames(attributeNames); return this; } /** *

          * A list of s that need to be returned along with each message. These attributes include: *

          *
            *
          • *

            * All - Returns all values. *

            *
          • *
          • *

            * ApproximateFirstReceiveTimestamp - Returns the time the message was first received from the queue * (epoch time in milliseconds). *

            *
          • *
          • *

            * ApproximateReceiveCount - Returns the number of times a message has been received from the queue but * not deleted. *

            *
          • *
          • *

            * SenderId *

            *
              *
            • *

              * For an IAM user, returns the IAM user ID, for example ABCDEFGHI1JKLMNOPQ23R. *

              *
            • *
            • *

              * For an IAM role, returns the IAM role ID, for example ABCDE1F2GH3I4JK5LMNOP:i-a123b456. *

              *
            • *
            *
          • *
          • *

            * SentTimestamp - Returns the time the message was sent to the queue (epoch time in milliseconds). *

            *
          • *
          • *

            * MessageDeduplicationId - Returns the value provided by the 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 * A list of s that need to be returned along with each message. These attributes include:

          *
            *
          • *

            * All - Returns all values. *

            *
          • *
          • *

            * ApproximateFirstReceiveTimestamp - Returns the time the message was first received from the * queue (epoch time in milliseconds). *

            *
          • *
          • *

            * ApproximateReceiveCount - Returns the number of times a message has been received from the * queue but not deleted. *

            *
          • *
          • *

            * SenderId *

            *
              *
            • *

              * For an IAM user, returns the IAM user ID, for example ABCDEFGHI1JKLMNOPQ23R. *

              *
            • *
            • *

              * For an IAM role, returns the IAM role ID, for example ABCDE1F2GH3I4JK5LMNOP:i-a123b456. *

              *
            • *
            *
          • *
          • *

            * SentTimestamp - Returns the time the message was sent to the queue (epoch time in milliseconds). *

            *
          • *
          • *

            * MessageDeduplicationId - Returns the value provided by the 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 */ 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; } /** *

            * 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 returns successfully with an empty list of messages. *

            * * @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 returns successfully with an empty list of messages. */ 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 returns successfully with an empty list of messages. *

            * * @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 returns successfully with an empty list of messages. */ 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 returns successfully with an empty list of messages. *

            * * @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 returns successfully with an empty list of messages. * @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, you can retry the same * action with an identical ReceiveRequestAttemptId to retrieve the same set of messages, even if their * visibility timeout has not yet expired. *

            *
              *
            • *

              * You can use ReceiveRequestAttemptId only for 5 minutes after a ReceiveMessage action. *

              *
            • *
            • *

              * When you set FifoQueue, a caller of the ReceiveMessage action can provide a * ReceiveRequestAttemptId explicitly. *

              *
            • *
            • *

              * If a caller of the ReceiveMessage action doesn't provide a ReceiveRequestAttemptId, * Amazon SQS generates a ReceiveRequestAttemptId. *

              *
            • *
            • *

              * You can retry the ReceiveMessage action with the same ReceiveRequestAttemptId if none * of the messages have been modified (deleted or had their visibility changes). *

              *
            • *
            • *

              * During a visibility timeout, subsequent calls with the same ReceiveRequestAttemptId return the same * messages and receipt handles. If a retry occurs within the deduplication interval, it resets the visibility * timeout. For more information, see Visibility Timeout in the Amazon Simple Queue Service Developer Guide. *

              * *

              * If a caller of the ReceiveMessage action 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 length of ReceiveRequestAttemptId is 128 characters. ReceiveRequestAttemptId can * contain alphanumeric characters (a-z, A-Z, 0-9) and punctuation ( * !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~). *

            *

            * For best practices of using ReceiveRequestAttemptId, see Using the ReceiveRequestAttemptId Request Parameter in the Amazon Simple Queue Service Developer * Guide. *

            * * @param receiveRequestAttemptId * This parameter applies only to FIFO (first-in-first-out) queues.

            *

            * The token used for deduplication of ReceiveMessage calls. If a networking issue occurs after * a ReceiveMessage action, and instead of a response you receive a generic error, you can retry * the same action with an identical ReceiveRequestAttemptId to retrieve the same set of * messages, even if their visibility timeout has not yet expired. *

            *
              *
            • *

              * You can use ReceiveRequestAttemptId only for 5 minutes after a ReceiveMessage * action. *

              *
            • *
            • *

              * When you set FifoQueue, a caller of the ReceiveMessage action can provide a * ReceiveRequestAttemptId explicitly. *

              *
            • *
            • *

              * If a caller of the ReceiveMessage action doesn't provide a * ReceiveRequestAttemptId, Amazon SQS generates a ReceiveRequestAttemptId. *

              *
            • *
            • *

              * You can retry the ReceiveMessage action with the same ReceiveRequestAttemptId if * none of the messages have been modified (deleted or had their visibility changes). *

              *
            • *
            • *

              * During a visibility timeout, subsequent calls with the same ReceiveRequestAttemptId return * the same messages and receipt handles. If a retry occurs within the deduplication interval, it resets the * visibility timeout. For more information, see Visibility Timeout in the Amazon Simple Queue Service Developer Guide. *

              * *

              * If a caller of the ReceiveMessage action 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 length of ReceiveRequestAttemptId is 128 characters. ReceiveRequestAttemptId * can contain alphanumeric characters (a-z, A-Z, 0-9) and punctuation * (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~). *

            *

            * For best practices of using ReceiveRequestAttemptId, see Using the ReceiveRequestAttemptId Request Parameter in the Amazon Simple Queue Service Developer * Guide. */ 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, you can retry the same * action with an identical ReceiveRequestAttemptId to retrieve the same set of messages, even if their * visibility timeout has not yet expired. *

            *
              *
            • *

              * You can use ReceiveRequestAttemptId only for 5 minutes after a ReceiveMessage action. *

              *
            • *
            • *

              * When you set FifoQueue, a caller of the ReceiveMessage action can provide a * ReceiveRequestAttemptId explicitly. *

              *
            • *
            • *

              * If a caller of the ReceiveMessage action doesn't provide a ReceiveRequestAttemptId, * Amazon SQS generates a ReceiveRequestAttemptId. *

              *
            • *
            • *

              * You can retry the ReceiveMessage action with the same ReceiveRequestAttemptId if none * of the messages have been modified (deleted or had their visibility changes). *

              *
            • *
            • *

              * During a visibility timeout, subsequent calls with the same ReceiveRequestAttemptId return the same * messages and receipt handles. If a retry occurs within the deduplication interval, it resets the visibility * timeout. For more information, see Visibility Timeout in the Amazon Simple Queue Service Developer Guide. *

              * *

              * If a caller of the ReceiveMessage action 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 length of ReceiveRequestAttemptId is 128 characters. ReceiveRequestAttemptId can * contain alphanumeric characters (a-z, A-Z, 0-9) and punctuation ( * !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~). *

            *

            * For best practices of using ReceiveRequestAttemptId, see Using the ReceiveRequestAttemptId Request Parameter in the Amazon Simple Queue Service Developer * Guide. *

            * * @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, you can * retry the same action with an identical ReceiveRequestAttemptId to retrieve the same set of * messages, even if their visibility timeout has not yet expired. *

            *
              *
            • *

              * You can use ReceiveRequestAttemptId only for 5 minutes after a ReceiveMessage * action. *

              *
            • *
            • *

              * When you set FifoQueue, a caller of the ReceiveMessage action can provide a * ReceiveRequestAttemptId explicitly. *

              *
            • *
            • *

              * If a caller of the ReceiveMessage action doesn't provide a * ReceiveRequestAttemptId, Amazon SQS generates a ReceiveRequestAttemptId. *

              *
            • *
            • *

              * You can retry the ReceiveMessage action with the same ReceiveRequestAttemptId * if none of the messages have been modified (deleted or had their visibility changes). *

              *
            • *
            • *

              * During a visibility timeout, subsequent calls with the same ReceiveRequestAttemptId return * the same messages and receipt handles. If a retry occurs within the deduplication interval, it resets the * visibility timeout. For more information, see Visibility Timeout in the Amazon Simple Queue Service Developer Guide. *

              * *

              * If a caller of the ReceiveMessage action 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 length of ReceiveRequestAttemptId is 128 characters. * ReceiveRequestAttemptId can contain alphanumeric characters (a-z, * A-Z, 0-9) and punctuation ( * !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~). *

            *

            * For best practices of using ReceiveRequestAttemptId, see Using the ReceiveRequestAttemptId Request Parameter in the Amazon Simple Queue Service Developer * Guide. */ 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, you can retry the same * action with an identical ReceiveRequestAttemptId to retrieve the same set of messages, even if their * visibility timeout has not yet expired. *

            *
              *
            • *

              * You can use ReceiveRequestAttemptId only for 5 minutes after a ReceiveMessage action. *

              *
            • *
            • *

              * When you set FifoQueue, a caller of the ReceiveMessage action can provide a * ReceiveRequestAttemptId explicitly. *

              *
            • *
            • *

              * If a caller of the ReceiveMessage action doesn't provide a ReceiveRequestAttemptId, * Amazon SQS generates a ReceiveRequestAttemptId. *

              *
            • *
            • *

              * You can retry the ReceiveMessage action with the same ReceiveRequestAttemptId if none * of the messages have been modified (deleted or had their visibility changes). *

              *
            • *
            • *

              * During a visibility timeout, subsequent calls with the same ReceiveRequestAttemptId return the same * messages and receipt handles. If a retry occurs within the deduplication interval, it resets the visibility * timeout. For more information, see Visibility Timeout in the Amazon Simple Queue Service Developer Guide. *

              * *

              * If a caller of the ReceiveMessage action 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 length of ReceiveRequestAttemptId is 128 characters. ReceiveRequestAttemptId can * contain alphanumeric characters (a-z, A-Z, 0-9) and punctuation ( * !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~). *

            *

            * For best practices of using ReceiveRequestAttemptId, see Using the ReceiveRequestAttemptId Request Parameter in the Amazon Simple Queue Service Developer * Guide. *

            * * @param receiveRequestAttemptId * This parameter applies only to FIFO (first-in-first-out) queues.

            *

            * The token used for deduplication of ReceiveMessage calls. If a networking issue occurs after * a ReceiveMessage action, and instead of a response you receive a generic error, you can retry * the same action with an identical ReceiveRequestAttemptId to retrieve the same set of * messages, even if their visibility timeout has not yet expired. *

            *
              *
            • *

              * You can use ReceiveRequestAttemptId only for 5 minutes after a ReceiveMessage * action. *

              *
            • *
            • *

              * When you set FifoQueue, a caller of the ReceiveMessage action can provide a * ReceiveRequestAttemptId explicitly. *

              *
            • *
            • *

              * If a caller of the ReceiveMessage action doesn't provide a * ReceiveRequestAttemptId, Amazon SQS generates a ReceiveRequestAttemptId. *

              *
            • *
            • *

              * You can retry the ReceiveMessage action with the same ReceiveRequestAttemptId if * none of the messages have been modified (deleted or had their visibility changes). *

              *
            • *
            • *

              * During a visibility timeout, subsequent calls with the same ReceiveRequestAttemptId return * the same messages and receipt handles. If a retry occurs within the deduplication interval, it resets the * visibility timeout. For more information, see Visibility Timeout in the Amazon Simple Queue Service Developer Guide. *

              * *

              * If a caller of the ReceiveMessage action 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 length of ReceiveRequestAttemptId is 128 characters. ReceiveRequestAttemptId * can contain alphanumeric characters (a-z, A-Z, 0-9) and punctuation * (!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~). *

            *

            * For best practices of using ReceiveRequestAttemptId, see Using the ReceiveRequestAttemptId Request Parameter in the Amazon Simple Queue Service Developer * Guide. * @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; useful for testing and debugging. * * @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 (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.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 + ((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