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 TypeMethodDescriptionadditionalOnSuccessHeaders(software.amazon.awssdk.awscore.AwsRequest request, software.amazon.awssdk.awscore.AwsResponse response) protected voiddoSetHeaderMapper(org.springframework.integration.mapping.HeaderMapper<H> headerMapper) Deprecated, for removal: This API element is subject to removal in a future version.protected org.springframework.expression.EvaluationContextprotected org.springframework.integration.mapping.HeaderMapper<H> protected org.springframework.expression.Expressionprotected voidhandleMessageInternal(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 booleanprotected abstract software.amazon.awssdk.awscore.AwsRequestmessageToAwsRequest(org.springframework.messaging.Message<?> message) protected voidonInit()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) 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, 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
-
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() -
setHeaderMapper
Specify aHeaderMapperto map outbound headers.- Parameters:
headerMapper- theHeaderMapperto map outbound headers.
-
isHeaderMapperSet
protected boolean isHeaderMapperSet() -
doSetHeaderMapper
@Deprecated(forRemoval=true, since="3.0.8") protected void doSetHeaderMapper(org.springframework.integration.mapping.HeaderMapper<H> headerMapper) Deprecated, for removal: This API element is subject to removal in a future version.in favor ofsetHeaderMapper(HeaderMapper)to be called fromonInit().Set aHeaderMapperto use.- Parameters:
headerMapper- the header mapper to set
-
getHeaderMapper
-
getEvaluationContext
protected org.springframework.expression.EvaluationContext getEvaluationContext() -
onInit
protected void onInit()- Overrides:
onInitin classorg.springframework.integration.handler.AbstractMessageProducingHandler
-
shouldCopyRequestHeaders
protected boolean shouldCopyRequestHeaders()- Overrides:
shouldCopyRequestHeadersin classorg.springframework.integration.handler.AbstractMessageProducingHandler
-
handleMessageInternal
protected void handleMessageInternal(org.springframework.messaging.Message<?> message) - Specified by:
handleMessageInternalin 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
-
setHeaderMapper(HeaderMapper)to be called fromonInit().