Class AbstractSqsMessageSource<T>
java.lang.Object
io.awspring.cloud.sqs.listener.source.AbstractMessageConvertingMessageSource<T,S>
io.awspring.cloud.sqs.listener.source.AbstractPollingMessageSource<T,software.amazon.awssdk.services.sqs.model.Message>
io.awspring.cloud.sqs.listener.source.AbstractSqsMessageSource<T>
- Type Parameters:
T- theMessagepayload type.
- All Implemented Interfaces:
ConfigurableContainerComponent,IdentifiableContainerComponent,AcknowledgementProcessingMessageSource<T>,MessageSource<T>,PollingMessageSource<T>,SqsAsyncClientAware,TaskExecutorAware,Lifecycle,Phased,SmartLifecycle
- Direct Known Subclasses:
FifoSqsMessageSource,StandardSqsMessageSource
public abstract class AbstractSqsMessageSource<T>
extends AbstractPollingMessageSource<T,software.amazon.awssdk.services.sqs.model.Message>
implements SqsAsyncClientAware
MessageSource implementation for polling messages from a SQS queue and converting them to messaging
Message.
A MessageListenerContainer can contain many sources, and each source polls
from a single queue.
Note that currently the payload is not converted here and is returned as String. The actual conversion to the
SqsListener argument type happens on
InvocableHandlerMethod invocation.
- Since:
- 3.0
- Author:
- Tomaz Fernandes
-
Field Summary
Fields inherited from interface org.springframework.context.SmartLifecycle
DEFAULT_PHASE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected AcknowledgementExecutor<T>protected AcknowledgementExecutor<T>createAndConfigureAcknowledgementExecutor(QueueAttributes queueAttributes) protected voidcustomizeRequest(software.amazon.awssdk.services.sqs.model.ReceiveMessageRequest.Builder builder) protected voiddoConfigure(ContainerOptions<?, ?> containerOptions) Override to configure subclasses.protected CompletableFuture<Collection<software.amazon.awssdk.services.sqs.model.Message>>doPollForMessages(int maxNumberOfMessages) protected voiddoStart()voidsetSqsAsyncClient(software.amazon.awssdk.services.sqs.SqsAsyncClient sqsAsyncClient) Set theSqsAsyncClientinstance.Methods inherited from class io.awspring.cloud.sqs.listener.source.AbstractPollingMessageSource
configureMessageSource, createContext, doStop, getAcknowledgementCallback, getAcknowledgmentProcessor, getId, getPollingEndpointName, isRunning, releaseUnusedPermits, setAcknowledgementProcessor, setAcknowledgementResultCallback, setBackPressureHandler, setId, setMessageSink, setPollingEndpointName, setTaskExecutor, start, stopMethods inherited from class io.awspring.cloud.sqs.listener.source.AbstractMessageConvertingMessageSource
configure, convertMessage, convertMessages, getMessageConversionContext, setupAcknowledgementForConversionMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.awspring.cloud.sqs.listener.ConfigurableContainerComponent
configureMethods inherited from interface org.springframework.context.SmartLifecycle
getPhase, isAutoStartup, stop
-
Constructor Details
-
AbstractSqsMessageSource
public AbstractSqsMessageSource()
-
-
Method Details
-
setSqsAsyncClient
public void setSqsAsyncClient(software.amazon.awssdk.services.sqs.SqsAsyncClient sqsAsyncClient) Description copied from interface:SqsAsyncClientAwareSet theSqsAsyncClientinstance.- Specified by:
setSqsAsyncClientin interfaceSqsAsyncClientAware- Parameters:
sqsAsyncClient- the instance.
-
doConfigure
Description copied from class:AbstractPollingMessageSourceOverride to configure subclasses.- Overrides:
doConfigurein classAbstractPollingMessageSource<T,software.amazon.awssdk.services.sqs.model.Message> - Parameters:
containerOptions- theContainerOptionsfor this source.
-
doStart
protected void doStart()- Overrides:
doStartin classAbstractPollingMessageSource<T,software.amazon.awssdk.services.sqs.model.Message>
-
createAndConfigureAcknowledgementExecutor
protected AcknowledgementExecutor<T> createAndConfigureAcknowledgementExecutor(QueueAttributes queueAttributes) -
createAcknowledgementExecutorInstance
-
doPollForMessages
protected CompletableFuture<Collection<software.amazon.awssdk.services.sqs.model.Message>> doPollForMessages(int maxNumberOfMessages) - Specified by:
doPollForMessagesin classAbstractPollingMessageSource<T,software.amazon.awssdk.services.sqs.model.Message>
-
customizeRequest
protected void customizeRequest(software.amazon.awssdk.services.sqs.model.ReceiveMessageRequest.Builder builder)
-