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
org.springframework.integration.aws.outbound.AbstractAwsMessageHandler<Map<String,software.amazon.awssdk.services.sqs.model.MessageAttributeValue>>
org.springframework.integration.aws.outbound.SqsMessageHandler
- All Implemented Interfaces:
org.reactivestreams.Subscriber<org.springframework.messaging.Message<?>>
,org.springframework.beans.factory.Aware
,org.springframework.beans.factory.BeanFactoryAware
,org.springframework.beans.factory.BeanNameAware
,org.springframework.beans.factory.DisposableBean
,org.springframework.beans.factory.InitializingBean
,org.springframework.context.ApplicationContextAware
,org.springframework.core.Ordered
,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
,org.springframework.messaging.MessageHandler
,reactor.core.CoreSubscriber<org.springframework.messaging.Message<?>>
public class SqsMessageHandler
extends AbstractAwsMessageHandler<Map<String,software.amazon.awssdk.services.sqs.model.MessageAttributeValue>>
The
AbstractMessageHandler
implementation for the Amazon SQS
sendMessage
.- Author:
- Artem Bilan, Rahul Pilani, Taylor Wicksell, Seth Kelly
- See Also:
-
SqsAsyncClient.sendMessage(SendMessageRequest)
AsyncHandler
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.springframework.integration.support.management.IntegrationManagement
org.springframework.integration.support.management.IntegrationManagement.ManagementOverrides
-
Field Summary
Fields inherited from class org.springframework.integration.aws.outbound.AbstractAwsMessageHandler
DEFAULT_SEND_TIMEOUT
Fields inherited from class org.springframework.integration.handler.AbstractMessageProducingHandler
messagingTemplate
Fields inherited from class org.springframework.integration.context.IntegrationObjectSupport
EXPRESSION_PARSER, logger
Fields inherited from interface org.springframework.integration.support.management.IntegrationManagement
METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAME
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
-
Constructor Summary
ConstructorsConstructorDescriptionSqsMessageHandler
(software.amazon.awssdk.services.sqs.SqsAsyncClient amazonSqs) -
Method Summary
Modifier and TypeMethodDescriptionadditionalOnSuccessHeaders
(software.amazon.awssdk.awscore.AwsRequest request, software.amazon.awssdk.awscore.AwsResponse response) protected CompletableFuture<? extends software.amazon.awssdk.awscore.AwsResponse>
handleMessageToAws
(org.springframework.messaging.Message<?> message, software.amazon.awssdk.awscore.AwsRequest request) protected software.amazon.awssdk.awscore.AwsRequest
messageToAwsRequest
(org.springframework.messaging.Message<?> message) protected void
onInit()
void
setDelay
(int delaySeconds) void
setDelayExpression
(org.springframework.expression.Expression delayExpression) void
setDelayExpressionString
(String delayExpression) void
setMessageConverter
(org.springframework.messaging.converter.MessageConverter messageConverter) void
setMessageDeduplicationId
(String messageDeduplicationId) void
setMessageDeduplicationIdExpression
(org.springframework.expression.Expression messageDeduplicationIdExpression) void
setMessageDeduplicationIdExpressionString
(String messageDeduplicationIdExpression) void
setMessageGroupId
(String messageGroupId) void
setMessageGroupIdExpression
(org.springframework.expression.Expression messageGroupIdExpression) void
setMessageGroupIdExpressionString
(String groupIdExpression) void
void
setQueueExpression
(org.springframework.expression.Expression queueExpression) void
setQueueExpressionString
(String queueExpression) void
setQueueNotFoundStrategy
(io.awspring.cloud.sqs.listener.QueueNotFoundStrategy queueNotFoundStrategy) Set aQueueNotFoundStrategy
; defaults toQueueNotFoundStrategy.FAIL
.Methods inherited from class org.springframework.integration.aws.outbound.AbstractAwsMessageHandler
doSetHeaderMapper, getEvaluationContext, getHeaderMapper, getSendTimeoutExpression, handleMessageInternal, handleResponse, setHeaderMapper, setSendTimeout, setSendTimeoutExpression, setSendTimeoutExpressionString, shouldCopyRequestHeaders
Methods 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, updateNotPropagatedHeaders
Methods inherited from class org.springframework.integration.handler.AbstractMessageHandler
handleMessage, onComplete, onError, onNext, onSubscribe, setObservationConvention
Methods 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, shouldTrack
Methods inherited from class org.springframework.integration.context.IntegrationObjectSupport
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface reactor.core.CoreSubscriber
currentContext
Methods inherited from interface org.springframework.integration.support.management.IntegrationManagement
getThisAs
Methods inherited from interface org.springframework.integration.support.context.NamedComponent
getBeanName, getComponentName
-
Constructor Details
-
SqsMessageHandler
public SqsMessageHandler(software.amazon.awssdk.services.sqs.SqsAsyncClient amazonSqs)
-
-
Method Details
-
setQueue
-
setQueueExpressionString
-
setQueueExpression
public void setQueueExpression(org.springframework.expression.Expression queueExpression) -
setQueueNotFoundStrategy
public void setQueueNotFoundStrategy(io.awspring.cloud.sqs.listener.QueueNotFoundStrategy queueNotFoundStrategy) Set aQueueNotFoundStrategy
; defaults toQueueNotFoundStrategy.FAIL
.- Parameters:
queueNotFoundStrategy
- theQueueNotFoundStrategy
to use.- Since:
- 3.0
-
setDelay
public void setDelay(int delaySeconds) -
setDelayExpressionString
-
setDelayExpression
public void setDelayExpression(org.springframework.expression.Expression delayExpression) -
setMessageGroupId
-
setMessageGroupIdExpressionString
-
setMessageGroupIdExpression
public void setMessageGroupIdExpression(org.springframework.expression.Expression messageGroupIdExpression) -
setMessageDeduplicationId
-
setMessageDeduplicationIdExpressionString
-
setMessageDeduplicationIdExpression
public void setMessageDeduplicationIdExpression(org.springframework.expression.Expression messageDeduplicationIdExpression) -
setMessageConverter
public void setMessageConverter(org.springframework.messaging.converter.MessageConverter messageConverter) -
onInit
protected void onInit()- Overrides:
onInit
in classAbstractAwsMessageHandler<Map<String,
software.amazon.awssdk.services.sqs.model.MessageAttributeValue>>
-
messageToAwsRequest
protected software.amazon.awssdk.awscore.AwsRequest messageToAwsRequest(org.springframework.messaging.Message<?> message) - Specified by:
messageToAwsRequest
in classAbstractAwsMessageHandler<Map<String,
software.amazon.awssdk.services.sqs.model.MessageAttributeValue>>
-
handleMessageToAws
protected CompletableFuture<? extends software.amazon.awssdk.awscore.AwsResponse> handleMessageToAws(org.springframework.messaging.Message<?> message, software.amazon.awssdk.awscore.AwsRequest request) - Specified by:
handleMessageToAws
in classAbstractAwsMessageHandler<Map<String,
software.amazon.awssdk.services.sqs.model.MessageAttributeValue>>
-
additionalOnSuccessHeaders
protected Map<String,?> additionalOnSuccessHeaders(software.amazon.awssdk.awscore.AwsRequest request, software.amazon.awssdk.awscore.AwsResponse response) - Specified by:
additionalOnSuccessHeaders
in classAbstractAwsMessageHandler<Map<String,
software.amazon.awssdk.services.sqs.model.MessageAttributeValue>>
-