Class AbstractOutboundChannelAdapterParser
java.lang.Object
org.springframework.beans.factory.xml.AbstractBeanDefinitionParser
org.springframework.integration.config.xml.AbstractChannelAdapterParser
org.springframework.integration.config.xml.AbstractOutboundChannelAdapterParser
- All Implemented Interfaces:
BeanDefinitionParser
- Direct Known Subclasses:
AbstractXmppOutboundChannelAdapterParser
,AmqpOutboundChannelAdapterParser
,ConsoleOutboundChannelAdapterParser
,DefaultOutboundChannelAdapterParser
,EventOutboundChannelAdapterParser
,FileOutboundChannelAdapterParser
,GemfireOutboundChannelAdapterParser
,HttpOutboundChannelAdapterParser
,JdbcMessageHandlerParser
,JmsOutboundChannelAdapterParser
,JpaOutboundChannelAdapterParser
,KafkaOutboundChannelAdapterParser
,LoggingChannelAdapterParser
,MailOutboundChannelAdapterParser
,MongoDbOutboundChannelAdapterParser
,MqttOutboundChannelAdapterParser
,NotificationPublishingChannelAdapterParser
,OperationInvokingChannelAdapterParser
,RedisOutboundChannelAdapterParser
,RedisQueueOutboundChannelAdapterParser
,RedisStoreOutboundChannelAdapterParser
,RemoteFileOutboundChannelAdapterParser
,StompOutboundChannelAdapterParser
,StoredProcMessageHandlerParser
,TcpOutboundChannelAdapterParser
,UdpOutboundChannelAdapterParser
,WebSocketOutboundMessageHandlerParser
public abstract class AbstractOutboundChannelAdapterParser extends AbstractChannelAdapterParser
Base class for outbound Channel Adapter parsers.
If this component is defined as the top-level element in the Spring application context it will produce
an
AbstractEndpoint
depending on the channel type.
If this component is defined as nested element (e.g., inside of the chain) it will produce
a MessageHandler
.- Author:
- Mark Fisher, Gary Russell, Artem Bilan
-
Field Summary
Fields inherited from class org.springframework.beans.factory.xml.AbstractBeanDefinitionParser
ID_ATTRIBUTE, NAME_ATTRIBUTE
-
Constructor Summary
Constructors Constructor Description AbstractOutboundChannelAdapterParser()
-
Method Summary
Modifier and Type Method Description protected AbstractBeanDefinition
doParse(Element element, ParserContext parserContext, String channelName)
Subclasses must implement this method to parse the adapter element.protected BeanComponentDefinition
doParseAndRegisterConsumer(Element element, ParserContext parserContext)
Override this method to control the registration process and return the bean name.protected boolean
isUsingReplyProducer()
Override this to signal that this channel adapter is actually using a AbstractReplyProducingMessageHandler while it is not possible for this parser to determine that because, say, a FactoryBean is being used.protected abstract AbstractBeanDefinition
parseConsumer(Element element, ParserContext parserContext)
Override this method to return the BeanDefinition for the MessageConsumer.Methods inherited from class org.springframework.integration.config.xml.AbstractChannelAdapterParser
parseInternal, resolveId
Methods inherited from class org.springframework.beans.factory.xml.AbstractBeanDefinitionParser
parse, postProcessComponentDefinition, registerBeanDefinition, shouldFireEvents, shouldGenerateId, shouldGenerateIdAsFallback, shouldParseNameAsAliases
-
Constructor Details
-
AbstractOutboundChannelAdapterParser
public AbstractOutboundChannelAdapterParser()
-
-
Method Details
-
doParse
protected AbstractBeanDefinition doParse(Element element, ParserContext parserContext, String channelName)Description copied from class:AbstractChannelAdapterParser
Subclasses must implement this method to parse the adapter element. The name of the MessageChannel bean is provided.- Specified by:
doParse
in classAbstractChannelAdapterParser
- Parameters:
element
- The element.parserContext
- The parser context.channelName
- The channel name.- Returns:
- The bean definition.
-
doParseAndRegisterConsumer
protected BeanComponentDefinition doParseAndRegisterConsumer(Element element, ParserContext parserContext)Override this method to control the registration process and return the bean name. If parsing a bean definition whose name can be auto-generated, consider usingparseConsumer(Element, ParserContext)
instead.- Parameters:
element
- The element.parserContext
- The parser context.- Returns:
- The bean component definition.
-
parseConsumer
protected abstract AbstractBeanDefinition parseConsumer(Element element, ParserContext parserContext)Override this method to return the BeanDefinition for the MessageConsumer. It will be registered with a generated name.- Parameters:
element
- The element.parserContext
- The parser context.- Returns:
- The bean definition.
-
isUsingReplyProducer
protected boolean isUsingReplyProducer()Override this to signal that this channel adapter is actually using a AbstractReplyProducingMessageHandler while it is not possible for this parser to determine that because, say, a FactoryBean is being used.- Returns:
- false, unless overridden.
-