Class SqsMessageHandler
java.lang.Object
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.handler.MessageHandlerSupport
org.springframework.integration.handler.AbstractMessageHandler
org.springframework.integration.handler.AbstractMessageProducingHandler
io.awspring.cloud.sqs.integration.SqsMessageHandler
- All Implemented Interfaces:
org.reactivestreams.Subscriber<Message<?>>,Aware,BeanFactoryAware,BeanNameAware,DisposableBean,InitializingBean,ApplicationContextAware,Ordered,org.springframework.integration.context.ComponentSourceAware,org.springframework.integration.context.ExpressionCapable,org.springframework.integration.context.Orderable,org.springframework.integration.core.MessageProducer,org.springframework.integration.handler.HeaderPropagationAware,org.springframework.integration.IntegrationPattern,org.springframework.integration.support.context.NamedComponent,org.springframework.integration.support.management.IntegrationManagement,org.springframework.integration.support.management.TrackableComponent,MessageHandler,reactor.core.CoreSubscriber<Message<?>>
public class SqsMessageHandler
extends org.springframework.integration.handler.AbstractMessageProducingHandler
The
AbstractMessageProducingHandler implementation for the Amazon SQS. All the logic based on the
AsyncMessagingOperations.sendAsync(String, Message) or AsyncMessagingOperations.sendManyAsync(String, Collection)
if the request message's payload is a collection of Message instances.
All the SQS-specific message attributes have to be provided in the respective message headers via
SqsHeaders.MessageSystemAttributes constant values or with the SqsAsyncOperations.
This AbstractMessageProducingHandler produces a reply only in the AbstractMessageProducingHandler.isAsync() mode. For a single
request message the SendResult is converted to the reply message with respective headers. The
SendResult.Batch is sent as a reply message's payload as is.
- Since:
- 4.0
- Author:
- Artem Bilan
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.springframework.integration.support.management.IntegrationManagement
org.springframework.integration.support.management.IntegrationManagement.ManagementOverrides -
Field Summary
FieldsFields inherited from class org.springframework.integration.handler.AbstractMessageProducingHandler
messagingTemplateFields inherited from class org.springframework.integration.context.IntegrationObjectSupport
EXPRESSION_PARSER, loggerFields inherited from interface org.springframework.integration.support.management.IntegrationManagement
METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAMEFields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidhandleMessageInternal(Message<?> message) protected voidonInit()voidvoidsetQueueExpression(Expression queueExpression) voidsetQueueExpressionString(String queueExpression) voidsetSendTimeout(long sendTimeout) voidsetSendTimeoutExpression(Expression sendTimeoutExpression) voidsetSendTimeoutExpressionString(String sendTimeoutExpression) protected booleanMethods inherited from class org.springframework.integration.handler.AbstractMessageProducingHandler
addNotPropagatedHeaders, createOutputMessage, getNotPropagatedHeaders, getOutputChannel, isAsync, messageBuilderForReply, produceOutput, resolveErrorChannel, sendErrorMessage, sendOutput, sendOutputs, setAsync, setNotPropagatedHeaders, setOutputChannel, setOutputChannelName, setupMessageProcessor, shouldSplitOutput, updateNotPropagatedHeadersMethods inherited from class org.springframework.integration.handler.AbstractMessageHandler
handleMessage, onComplete, onError, onNext, onSubscribe, setObservationConventionMethods inherited from class org.springframework.integration.handler.MessageHandlerSupport
buildSendTimer, destroy, getComponentType, getIntegrationPatternType, getManagedName, getManagedType, getMetricsCaptor, getObservationRegistry, getOrder, getOverrides, isLoggingEnabled, isObserved, registerMetricsCaptor, registerObservationRegistry, sendTimer, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, shouldTrackMethods inherited from class org.springframework.integration.context.IntegrationObjectSupport
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentDescription, getComponentName, getComponentSource, getConversionService, getExpression, getIntegrationProperties, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentDescription, setComponentName, setComponentSource, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface reactor.core.CoreSubscriber
currentContextMethods inherited from interface org.springframework.integration.support.management.IntegrationManagement
getThisAsMethods inherited from interface org.springframework.integration.support.context.NamedComponent
getBeanName, getComponentName
-
Field Details
-
DEFAULT_SEND_TIMEOUT
public static final long DEFAULT_SEND_TIMEOUT- See Also:
-
-
Constructor Details
-
SqsMessageHandler
-
-
Method Details
-
setQueue
-
setQueueExpressionString
-
setQueueExpression
-
setSendTimeout
public void setSendTimeout(long sendTimeout) - Overrides:
setSendTimeoutin classorg.springframework.integration.handler.AbstractMessageProducingHandler
-
setSendTimeoutExpressionString
-
setSendTimeoutExpression
-
onInit
protected void onInit()- Overrides:
onInitin classorg.springframework.integration.handler.AbstractMessageProducingHandler
-
shouldCopyRequestHeaders
protected boolean shouldCopyRequestHeaders()- Overrides:
shouldCopyRequestHeadersin classorg.springframework.integration.handler.AbstractMessageProducingHandler
-
handleMessageInternal
- Specified by:
handleMessageInternalin classorg.springframework.integration.handler.AbstractMessageHandler
-