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
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 abstract voidadditionalOnSuccessHeaders(org.springframework.integration.support.AbstractIntegrationMessageBuilder<?> messageBuilder, AmazonWebServiceRequest request, Object result) protected final voiddoSetHeaderMapper(org.springframework.integration.mapping.HeaderMapper<H> headerMapper) protected AsyncHandler<? extends AmazonWebServiceRequest,?> protected org.springframework.integration.support.ErrorMessageStrategyprotected org.springframework.expression.EvaluationContextprotected org.springframework.messaging.MessageChannelprotected org.springframework.integration.mapping.HeaderMapper<H>protected org.springframework.expression.Expressionprotected voidhandleMessageInternal(org.springframework.messaging.Message<?> message) protected abstract Future<?>handleMessageToAws(org.springframework.messaging.Message<?> message) protected booleanisSync()protected <I extends AmazonWebServiceRequest,O>
AsyncHandler<I,O> obtainAsyncHandler(org.springframework.messaging.Message<?> message, AmazonWebServiceRequest request) protected voidonInit()voidsetAsyncHandler(AsyncHandler<? extends AmazonWebServiceRequest, ?> asyncHandler) voidsetErrorMessageStrategy(org.springframework.integration.support.ErrorMessageStrategy errorMessageStrategy) voidsetFailureChannel(org.springframework.messaging.MessageChannel failureChannel) Set the failure channel.voidsetFailureChannelName(String failureChannelName) Set the failure channel name.voidsetHeaderMapper(org.springframework.integration.mapping.HeaderMapper<H> headerMapper) Specify aHeaderMapperto map outbound headers.voidsetSendTimeout(long sendTimeout) voidsetSendTimeoutExpression(org.springframework.expression.Expression sendTimeoutExpression) voidsetSendTimeoutExpressionString(String sendTimeoutExpression) voidsetSync(boolean sync) Methods inherited from class org.springframework.integration.handler.AbstractMessageProducingHandler
addNotPropagatedHeaders, createOutputMessage, getNotPropagatedHeaders, getOutputChannel, isAsync, messageBuilderForReply, produceOutput, resolveErrorChannel, sendErrorMessage, sendOutput, sendOutputs, setAsync, setNotPropagatedHeaders, setOutputChannel, setOutputChannelName, shouldCopyRequestHeaders, shouldSplitOutput, updateNotPropagatedHeadersMethods inherited from class org.springframework.integration.handler.AbstractMessageHandler
handleMessage, onComplete, onError, onNext, onSubscribeMethods inherited from class org.springframework.integration.handler.MessageHandlerSupport
buildSendTimer, destroy, getComponentType, getIntegrationPatternType, getManagedName, getManagedType, getMetricsCaptor, getOrder, getOverrides, isLoggingEnabled, registerMetricsCaptor, sendTimer, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, shouldTrackMethods 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, 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
protected static final long DEFAULT_SEND_TIMEOUT- See Also:
-
-
Constructor Details
-
AbstractAwsMessageHandler
public AbstractAwsMessageHandler()
-
-
Method Details
-
setAsyncHandler
-
getAsyncHandler
-
setSync
public void setSync(boolean sync) -
isSync
protected boolean isSync() -
setSendTimeout
public void setSendTimeout(long sendTimeout) - Overrides:
setSendTimeoutin classorg.springframework.integration.handler.AbstractMessageProducingHandler
-
setSendTimeoutExpressionString
-
setSendTimeoutExpression
public void setSendTimeoutExpression(org.springframework.expression.Expression sendTimeoutExpression) -
getSendTimeoutExpression
protected org.springframework.expression.Expression getSendTimeoutExpression() -
setFailureChannel
public void setFailureChannel(org.springframework.messaging.MessageChannel failureChannel) Set the failure channel. After a failure on put, anErrorMessagewill be sent to this channel with a payload of aAwsRequestFailureExceptionwith the failed message and cause.- Parameters:
failureChannel- the failure channel.
-
setFailureChannelName
Set the failure channel name. After a failure on put, anErrorMessagewill be sent to this channel name with a payload of aAwsRequestFailureExceptionwith the failed message and cause.- Parameters:
failureChannelName- the failure channel name.
-
getFailureChannel
protected org.springframework.messaging.MessageChannel getFailureChannel() -
setErrorMessageStrategy
public void setErrorMessageStrategy(org.springframework.integration.support.ErrorMessageStrategy errorMessageStrategy) -
getErrorMessageStrategy
protected org.springframework.integration.support.ErrorMessageStrategy getErrorMessageStrategy() -
setHeaderMapper
Specify aHeaderMapperto map outbound headers.- Parameters:
headerMapper- theHeaderMapperto 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:
onInitin classorg.springframework.integration.handler.AbstractMessageProducingHandler
-
handleMessageInternal
protected void handleMessageInternal(org.springframework.messaging.Message<?> message) - Specified by:
handleMessageInternalin classorg.springframework.integration.handler.AbstractMessageHandler
-
obtainAsyncHandler
protected <I extends AmazonWebServiceRequest,O> AsyncHandler<I,O> obtainAsyncHandler(org.springframework.messaging.Message<?> message, AmazonWebServiceRequest request) -
handleMessageToAws
-
additionalOnSuccessHeaders
protected abstract void additionalOnSuccessHeaders(org.springframework.integration.support.AbstractIntegrationMessageBuilder<?> messageBuilder, AmazonWebServiceRequest request, Object result)
-