Class AbstractReplyProducingMessageHandler
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.handler.AbstractReplyProducingMessageHandler
- All Implemented Interfaces:
- org.reactivestreams.Subscriber<Message<?>>,- Aware,- BeanClassLoaderAware,- BeanFactoryAware,- BeanNameAware,- DisposableBean,- InitializingBean,- ApplicationContextAware,- Ordered,- ExpressionCapable,- Orderable,- MessageProducer,- HeaderPropagationAware,- IntegrationPattern,- NamedComponent,- IntegrationManagement,- TrackableComponent,- MessageHandler,- reactor.core.CoreSubscriber<Message<?>>
- Direct Known Subclasses:
- AbstractAmqpOutboundEndpoint,- AbstractHttpRequestExecutingMessageHandler,- AbstractMessageSplitter,- AbstractRemoteFileOutboundGateway,- AbstractReplyProducingPostProcessingMessageHandler,- AbstractWebServiceOutboundGateway,- BarrierMessageHandler,- BridgeHandler,- CamelMessageHandler,- CassandraMessageHandler,- ContentEnricher,- DelayHandler,- FileWritingMessageHandler,- GatewayMessageHandler,- GraphQlMessageHandler,- JdbcOutboundGateway,- JmsOutboundGateway,- JpaOutboundGateway,- KafkaProducerMessageHandler,- MessageTransformingHandler,- MongoDbOutboundGateway,- OperationInvokingMessageHandler,- RedisOutboundGateway,- RedisQueueOutboundGateway,- ReplyProducingMessageHandlerWrapper,- RSocketOutboundGateway,- ScatterGatherHandler,- ServiceActivatingHandler,- StoredProcOutboundGateway,- TcpOutboundGateway
public abstract class AbstractReplyProducingMessageHandler
extends AbstractMessageProducingHandler
implements BeanClassLoaderAware
Base class for MessageHandlers that are capable of producing replies.
- Author:
- Mark Fisher, Iwein Fuld, Oleg Zhurakousky, Gary Russell, Artem Bilan, David Liu, Trung Pham, Christian Tzolov
- 
Nested Class SummaryNested ClassesModifier and TypeClassDescriptionstatic interfaceAn implementation of this interface is used to wrap thehandleRequestMessage(Message)method.Nested classes/interfaces inherited from interface org.springframework.integration.support.management.IntegrationManagementIntegrationManagement.ManagementOverrides
- 
Field SummaryFields inherited from class org.springframework.integration.handler.AbstractMessageProducingHandlermessagingTemplateFields inherited from class org.springframework.integration.context.IntegrationObjectSupportEXPRESSION_PARSER, loggerFields inherited from interface org.springframework.integration.support.management.IntegrationManagementMETER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAMEFields inherited from interface org.springframework.core.OrderedHIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionprotected voiddoInit()protected ObjectdoInvokeAdvisedRequestHandler(Message<?> message) protected ClassLoaderReturn a pattern type this component implements.protected booleanprotected final voidhandleMessageInternal(Message<?> message) protected abstract ObjecthandleRequestMessage(Message<?> requestMessage) Subclasses must implement this method to handle the request Message.protected booleanprotected final voidonInit()Subclasses may implement this for initialization logic.voidsetAdviceChain(List<Advice> adviceChain) Configure a list ofAdvices to proxy ahandleRequestMessage(Message)method.voidsetBeanClassLoader(ClassLoader beanClassLoader) voidsetRequiresReply(boolean requiresReply) Flag whether a reply is required.Methods inherited from class org.springframework.integration.handler.AbstractMessageProducingHandleraddNotPropagatedHeaders, createOutputMessage, getNotPropagatedHeaders, getOutputChannel, isAsync, messageBuilderForReply, produceOutput, resolveErrorChannel, sendErrorMessage, sendOutput, sendOutputs, setAsync, setNotPropagatedHeaders, setOutputChannel, setOutputChannelName, setSendTimeout, setupMessageProcessor, shouldCopyRequestHeaders, shouldSplitOutput, updateNotPropagatedHeadersMethods inherited from class org.springframework.integration.handler.AbstractMessageHandlerhandleMessage, onComplete, onError, onNext, onSubscribe, setObservationConventionMethods inherited from class org.springframework.integration.handler.MessageHandlerSupportbuildSendTimer, destroy, getComponentType, getManagedName, getManagedType, getMetricsCaptor, getObservationRegistry, getOrder, getOverrides, isLoggingEnabled, isObserved, registerMetricsCaptor, registerObservationRegistry, sendTimer, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, shouldTrackMethods inherited from class org.springframework.integration.context.IntegrationObjectSupportafterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toStringMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface reactor.core.CoreSubscribercurrentContextMethods inherited from interface org.springframework.integration.support.management.IntegrationManagementgetThisAsMethods inherited from interface org.springframework.integration.support.context.NamedComponentgetBeanName, getComponentName
- 
Constructor Details- 
AbstractReplyProducingMessageHandlerpublic AbstractReplyProducingMessageHandler()
 
- 
- 
Method Details- 
setRequiresReplypublic void setRequiresReply(boolean requiresReply) Flag whether a reply is required. If true an incoming message MUST result in a reply message being sent. If false an incoming message MAY result in a reply message being sent. Default is false.- Parameters:
- requiresReply- true if a reply is required.
 
- 
getRequiresReplyprotected boolean getRequiresReply()
- 
setAdviceChainConfigure a list ofAdvices to proxy ahandleRequestMessage(Message)method.- Parameters:
- adviceChain- the list of- Advices to use.
 
- 
hasAdviceChainprotected boolean hasAdviceChain()
- 
setBeanClassLoader- Specified by:
- setBeanClassLoaderin interface- BeanClassLoaderAware
 
- 
getBeanClassLoader
- 
getIntegrationPatternTypeDescription copied from interface:IntegrationPatternReturn a pattern type this component implements.- Specified by:
- getIntegrationPatternTypein interface- IntegrationPattern
- Overrides:
- getIntegrationPatternTypein class- MessageHandlerSupport
- Returns:
- the IntegrationPatternTypethis component implements.
 
- 
onInitprotected final void onInit()Description copied from class:IntegrationObjectSupportSubclasses may implement this for initialization logic.- Overrides:
- onInitin class- AbstractMessageProducingHandler
 
- 
doInitprotected void doInit()
- 
handleMessageInternal- Specified by:
- handleMessageInternalin class- AbstractMessageHandler
 
- 
doInvokeAdvisedRequestHandler
- 
handleRequestMessageSubclasses must implement this method to handle the request Message. The return value may be a Message, a MessageBuilder, or any plain Object. The base class will handle the final creation of a reply Message from any of those starting points. If the return value is null, the Message flow will end here.- Parameters:
- requestMessage- The request message.
- Returns:
- The result of handling the message, or null.
 
 
-