Refactored CharacterStreamOutboundChannelAdapter to CharacterStreamWritingMessageConsumer and simplified the abstract method for AbstractOutboundChannelAdapter so that only a bean definition is returned (the base class now handles registration).

This commit is contained in:
Mark Fisher
2008-09-24 00:00:55 +00:00
parent db33965e77
commit 0ed3ba7657
9 changed files with 116 additions and 131 deletions

View File

@@ -18,8 +18,8 @@ package org.springframework.integration.mail.config;
import org.w3c.dom.Element;
import org.springframework.beans.factory.support.AbstractBeanDefinition;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.support.BeanDefinitionReaderUtils;
import org.springframework.beans.factory.xml.ParserContext;
import org.springframework.integration.ConfigurationException;
import org.springframework.integration.config.AbstractOutboundChannelAdapterParser;
@@ -39,7 +39,7 @@ public class MailOutboundChannelAdapterParser extends AbstractOutboundChannelAda
}
@Override
protected String parseConsumer(Element element, ParserContext parserContext) {
protected AbstractBeanDefinition parseConsumer(Element element, ParserContext parserContext) {
BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(MailSendingMessageConsumer.class);
String mailSenderRef = element.getAttribute("mail-sender");
String host = element.getAttribute("host");
@@ -70,8 +70,7 @@ public class MailOutboundChannelAdapterParser extends AbstractOutboundChannelAda
if (StringUtils.hasText(headerGeneratorRef)) {
builder.addPropertyReference("headerGenerator", headerGeneratorRef);
}
return BeanDefinitionReaderUtils.registerWithGeneratedName(
builder.getBeanDefinition(), parserContext.getRegistry());
return builder.getBeanDefinition();
}
}