Class AbstractAwsMessageHandler<H>
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<H>
- Type Parameters:
H
- the headers container type.
- 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<?>>
- Direct Known Subclasses:
KinesisMessageHandler
,KplMessageHandler
,SnsMessageHandler
,SqsMessageHandler
public abstract class AbstractAwsMessageHandler<H>
extends org.springframework.integration.handler.AbstractMessageProducingHandler
The base
AbstractMessageProducingHandler
for AWS services. Utilizes common
logic (AsyncHandler
, ErrorMessageStrategy
, failureChannel
etc.)
and message pre- and post-processing,- Since:
- 2.0
- Author:
- Artem Bilan
-
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
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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionadditionalOnSuccessHeaders
(software.amazon.awssdk.awscore.AwsRequest request, software.amazon.awssdk.awscore.AwsResponse response) protected final void
doSetHeaderMapper
(org.springframework.integration.mapping.HeaderMapper<H> headerMapper) protected org.springframework.expression.EvaluationContext
protected org.springframework.integration.mapping.HeaderMapper<H>
protected org.springframework.expression.Expression
protected void
handleMessageInternal
(org.springframework.messaging.Message<?> message) protected abstract CompletableFuture<? extends software.amazon.awssdk.awscore.AwsResponse>
handleMessageToAws
(org.springframework.messaging.Message<?> message, software.amazon.awssdk.awscore.AwsRequest request) protected org.springframework.messaging.Message<?>
handleResponse
(org.springframework.messaging.Message<?> message, software.amazon.awssdk.awscore.AwsRequest request, software.amazon.awssdk.awscore.AwsResponse response, Throwable cause) protected abstract software.amazon.awssdk.awscore.AwsRequest
messageToAwsRequest
(org.springframework.messaging.Message<?> message) protected void
onInit()
void
setHeaderMapper
(org.springframework.integration.mapping.HeaderMapper<H> headerMapper) Specify aHeaderMapper
to map outbound headers.void
setSendTimeout
(long sendTimeout) void
setSendTimeoutExpression
(org.springframework.expression.Expression sendTimeoutExpression) void
setSendTimeoutExpressionString
(String sendTimeoutExpression) protected boolean
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
-
Field Details
-
DEFAULT_SEND_TIMEOUT
protected static final long DEFAULT_SEND_TIMEOUT- See Also:
-
-
Constructor Details
-
AbstractAwsMessageHandler
public AbstractAwsMessageHandler()
-
-
Method Details
-
setSendTimeout
public void setSendTimeout(long sendTimeout) - Overrides:
setSendTimeout
in classorg.springframework.integration.handler.AbstractMessageProducingHandler
-
setSendTimeoutExpressionString
-
setSendTimeoutExpression
public void setSendTimeoutExpression(org.springframework.expression.Expression sendTimeoutExpression) -
getSendTimeoutExpression
protected org.springframework.expression.Expression getSendTimeoutExpression() -
setHeaderMapper
Specify aHeaderMapper
to map outbound headers.- Parameters:
headerMapper
- theHeaderMapper
to map outbound headers.
-
doSetHeaderMapper
protected final void doSetHeaderMapper(org.springframework.integration.mapping.HeaderMapper<H> headerMapper) -
getHeaderMapper
-
getEvaluationContext
protected org.springframework.expression.EvaluationContext getEvaluationContext() -
onInit
protected void onInit()- Overrides:
onInit
in classorg.springframework.integration.handler.AbstractMessageProducingHandler
-
shouldCopyRequestHeaders
protected boolean shouldCopyRequestHeaders()- Overrides:
shouldCopyRequestHeaders
in classorg.springframework.integration.handler.AbstractMessageProducingHandler
-
handleMessageInternal
protected void handleMessageInternal(org.springframework.messaging.Message<?> message) - Specified by:
handleMessageInternal
in classorg.springframework.integration.handler.AbstractMessageHandler
-
handleResponse
protected org.springframework.messaging.Message<?> handleResponse(org.springframework.messaging.Message<?> message, software.amazon.awssdk.awscore.AwsRequest request, software.amazon.awssdk.awscore.AwsResponse response, Throwable cause) -
messageToAwsRequest
protected abstract software.amazon.awssdk.awscore.AwsRequest messageToAwsRequest(org.springframework.messaging.Message<?> message) -
handleMessageToAws
protected abstract CompletableFuture<? extends software.amazon.awssdk.awscore.AwsResponse> handleMessageToAws(org.springframework.messaging.Message<?> message, software.amazon.awssdk.awscore.AwsRequest request) -
additionalOnSuccessHeaders
-