Class ReceiveSqsMessageHelper
- java.lang.Object
-
- software.amazon.awssdk.services.sqs.internal.batchmanager.ReceiveSqsMessageHelper
-
@SdkInternalApi public class ReceiveSqsMessageHelper extends Object
TheReceiveSqsMessageHelperclass forms aReceiveMessageRequestrequest based on configuration settings, collects messages from an AWS SQS queue, and handles exceptions during the process.It manages message visibility timeout by tracking the visibility deadline and expiring messages if not processed in time, ensuring unhandled messages return to the queue for reprocessing.
Additionally, the class supports clearing messages in the batch and changing their visibility as needed.
-
-
Constructor Summary
Constructors Constructor Description ReceiveSqsMessageHelper(String queueUrl, SqsAsyncClient asyncClient, Duration visibilityTimeout, ResponseBatchConfiguration config)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CompletableFuture<ReceiveSqsMessageHelper>asyncReceiveMessage()voidclear()ThrowablegetException()booleanisEmpty()IntegermessagesSize()messages.size() is expensive since it is ConcurrentLinkedQueue.MessageremoveMessage()
-
-
-
Constructor Detail
-
ReceiveSqsMessageHelper
public ReceiveSqsMessageHelper(String queueUrl, SqsAsyncClient asyncClient, Duration visibilityTimeout, ResponseBatchConfiguration config)
-
-
Method Detail
-
asyncReceiveMessage
public CompletableFuture<ReceiveSqsMessageHelper> asyncReceiveMessage()
-
isEmpty
public boolean isEmpty()
-
getException
public Throwable getException()
-
removeMessage
public Message removeMessage()
-
clear
public void clear()
-
messagesSize
@SdkTestInternalApi public Integer messagesSize()
messages.size() is expensive since it is ConcurrentLinkedQueue. Thus, its used only for testing the results and not used in any internal classes.
-
-