Minimizing class loading in parsers and using the parser context error handling capabilities rather than throwing Exceptions or using assertions. This facilitates proper tooling support (INT-114).

This commit is contained in:
Mark Fisher
2008-12-11 19:38:31 +00:00
parent e55aee06ce
commit 898762c2a3
2 changed files with 3 additions and 4 deletions

View File

@@ -22,7 +22,6 @@ 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.config.xml.AbstractPollingInboundChannelAdapterParser;
import org.springframework.integration.stream.CharacterStreamReadingMessageSource;
import org.springframework.util.StringUtils;
/**
@@ -34,7 +33,8 @@ public class ConsoleInboundChannelAdapterParser extends AbstractPollingInboundCh
@Override
protected String parseSource(Element element, ParserContext parserContext) {
BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(CharacterStreamReadingMessageSource.class);
BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(
"org.springframework.integration.stream.CharacterStreamReadingMessageSource");
builder.setFactoryMethod("stdin");
String charsetName = element.getAttribute("charset");
if (StringUtils.hasText(charsetName)) {

View File

@@ -22,7 +22,6 @@ import org.springframework.beans.factory.support.AbstractBeanDefinition;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.xml.ParserContext;
import org.springframework.integration.config.xml.AbstractOutboundChannelAdapterParser;
import org.springframework.integration.stream.CharacterStreamWritingMessageHandler;
import org.springframework.util.StringUtils;
/**
@@ -35,7 +34,7 @@ public class ConsoleOutboundChannelAdapterParser extends AbstractOutboundChannel
@Override
protected AbstractBeanDefinition parseConsumer(Element element, ParserContext parserContext) {
BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(
CharacterStreamWritingMessageHandler.class);
"org.springframework.integration.stream.CharacterStreamWritingMessageHandler");
if (element.getLocalName().startsWith("stderr")) {
builder.setFactoryMethod("stderr");
}