public SendMessageRequest withMessageDeduplicationId(String messageDeduplicationId) {
        setMessageDeduplicationId(messageDeduplicationId);
        return this;
    }
<p>
This parameter applies only to FIFO (first-in-first-out) queues.
</p>
<p>
The token used for deduplication of sent messages. If a message with a particular
<code>MessageDeduplicationId</code> is sent successfully, any messages sent with the same
<code>MessageDeduplicationId</code> are accepted successfully but aren't delivered during the 5-minute
deduplication interval. For more information, see <a href=
"https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-exactly-once-processing.html"
> Exactly-once processing</a> in the <i>Amazon SQS Developer Guide</i>.
</p>
<ul>
<li>
<p>
Every message must have a unique <code>MessageDeduplicationId</code>,
</p>
<ul>
<li>
<p>
You may provide a <code>MessageDeduplicationId</code> explicitly.
</p>
</li>
<li>
<p>
If you aren't able to provide a <code>MessageDeduplicationId</code> and you enable
<code>ContentBasedDeduplication</code> for your queue, Amazon SQS uses a SHA-256 hash to generate the
<code>MessageDeduplicationId</code> using the body of the message (but not the attributes of the message).
</p>
</li>
<li>
<p>
If you don't provide a <code>MessageDeduplicationId</code> and the queue doesn't have
<code>ContentBasedDeduplication</code> set, the action fails with an error.
</p>
</li>
<li>
<p>
If the queue has <code>ContentBasedDeduplication</code> set, your <code>MessageDeduplicationId</code> overrides
the generated one.
</p>
</li>
</ul>
</li>
<li>
<p>
When <code>ContentBasedDeduplication</code> is in effect, messages with identical content sent within the
deduplication interval are treated as duplicates and only one copy of the message is delivered.
</p>
</li>
<li>
<p>
If you send one message with <code>ContentBasedDeduplication</code> enabled and then another message with a
<code>MessageDeduplicationId</code> that is the same as the one generated for the first
<code>MessageDeduplicationId</code>, the two messages are treated as duplicates and only one copy of the message
is delivered.
</p>
</li>
</ul>
<note>
<p>
The <code>MessageDeduplicationId</code> is available to the consumer of the message (this can be useful for
troubleshooting delivery issues).
</p>
<p>
If a message is sent successfully but the acknowledgement is lost and the message is resent with the same
<code>MessageDeduplicationId</code> after the deduplication interval, Amazon SQS can't detect duplicate messages.
</p>
<p>
Amazon SQS continues to keep track of the message deduplication ID even after the message is received and
deleted.
</p>
</note>
<p>
The maximum length of <code>MessageDeduplicationId</code> is 128 characters. <code>MessageDeduplicationId</code>
can contain alphanumeric characters (<code>a-z</code>, <code>A-Z</code>, <code>0-9</code>) and punctuation (
<code>!"#$%&amp;'()*+,-./:;&lt;=&gt;?@[\]^_`{|}~</code>).
</p>
<p>
For best practices of using <code>MessageDeduplicationId</code>, see <a href=
"https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/using-messagededuplicationid-property.html"
>Using the MessageDeduplicationId Property</a> in the <i>Amazon SQS Developer Guide</i>.
</p>

@param messageDeduplicationId
       This parameter applies only to FIFO (first-in-first-out) queues.</p>
       <p>
       The token used for deduplication of sent messages. If a message with a particular
       <code>MessageDeduplicationId</code> is sent successfully, any messages sent with the same
       <code>MessageDeduplicationId</code> are accepted successfully but aren't delivered during the 5-minute
       deduplication interval. For more information, see <a href=
       "https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-exactly-once-processing.html"
       > Exactly-once processing</a> in the <i>Amazon SQS Developer Guide</i>.
       </p>
       <ul>
       <li>
       <p>
       Every message must have a unique <code>MessageDeduplicationId</code>,
       </p>
       <ul>
       <li>
       <p>
       You may provide a <code>MessageDeduplicationId</code> explicitly.
       </p>
       </li>
       <li>
       <p>
       If you aren't able to provide a <code>MessageDeduplicationId</code> and you enable
       <code>ContentBasedDeduplication</code> for your queue, Amazon SQS uses a SHA-256 hash to generate the
       <code>MessageDeduplicationId</code> using the body of the message (but not the attributes of the message).
       </p>
       </li>
       <li>
       <p>
       If you don't provide a <code>MessageDeduplicationId</code> and the queue doesn't have
       <code>ContentBasedDeduplication</code> set, the action fails with an error.
       </p>
       </li>
       <li>
       <p>
       If the queue has <code>ContentBasedDeduplication</code> set, your <code>MessageDeduplicationId</code>
       overrides the generated one.
       </p>
       </li>
       </ul>
       </li>
       <li>
       <p>
       When <code>ContentBasedDeduplication</code> is in effect, messages with identical content sent within the
       deduplication interval are treated as duplicates and only one copy of the message is delivered.
       </p>
       </li>
       <li>
       <p>
       If you send one message with <code>ContentBasedDeduplication</code> enabled and then another message with
       a <code>MessageDeduplicationId</code> that is the same as the one generated for the first
       <code>MessageDeduplicationId</code>, the two messages are treated as duplicates and only one copy of the
       message is delivered.
       </p>
       </li>
       </ul>
       <note>
       <p>
       The <code>MessageDeduplicationId</code> is available to the consumer of the message (this can be useful
       for troubleshooting delivery issues).
       </p>
       <p>
       If a message is sent successfully but the acknowledgement is lost and the message is resent with the same
       <code>MessageDeduplicationId</code> after the deduplication interval, Amazon SQS can't detect duplicate
       messages.
       </p>
       <p>
       Amazon SQS continues to keep track of the message deduplication ID even after the message is received and
       deleted.
       </p>
       </note>
       <p>
       The maximum length of <code>MessageDeduplicationId</code> is 128 characters.
       <code>MessageDeduplicationId</code> can contain alphanumeric characters (<code>a-z</code>,
       <code>A-Z</code>, <code>0-9</code>) and punctuation (
       <code>!"#$%&amp;'()*+,-./:;&lt;=&gt;?@[\]^_`{|}~</code>).
       </p>
       <p>
       For best practices of using <code>MessageDeduplicationId</code>, see <a href=
       "https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/using-messagededuplicationid-property.html"
       >Using the MessageDeduplicationId Property</a> in the <i>Amazon SQS Developer Guide</i>.
@return Returns a reference to this object so that method calls can be chained together.
aws-java-sdk-sqs/src/main/java/com/amazonaws/services/sqs/model/SendMessageRequest.java