Added broadcaster property to channel parser.

This commit is contained in:
Mark Fisher
2008-01-16 01:53:17 +00:00
parent 6d23f6a64c
commit 80e785f70e
2 changed files with 11 additions and 1 deletions

View File

@@ -37,6 +37,13 @@ public class ChannelParser implements BeanDefinitionParser {
private static final String CAPACITY_ATTRIBUTE = "capacity";
private boolean isBroadcaster;
public ChannelParser(boolean isBroadcaster) {
this.isBroadcaster = isBroadcaster;
}
public BeanDefinition parse(Element element, ParserContext parserContext) {
RootBeanDefinition channelDef = new RootBeanDefinition(SimpleChannel.class);
@@ -45,6 +52,9 @@ public class ChannelParser implements BeanDefinitionParser {
if (StringUtils.hasText(capacity)) {
channelDef.getConstructorArgumentValues().addGenericArgumentValue(Integer.parseInt(capacity));
}
if (this.isBroadcaster) {
channelDef.getPropertyValues().addPropertyValue("broadcaster", Boolean.TRUE);
}
String beanName = element.getAttribute(ID_ATTRIBUTE);
if (!StringUtils.hasText(beanName)) {
beanName = parserContext.getReaderContext().generateBeanName(channelDef);

View File

@@ -32,7 +32,7 @@ public class IntegrationNamespaceHandler extends NamespaceHandlerSupport {
public void init() {
registerBeanDefinitionParser("message-bus", new MessageBusParser());
registerBeanDefinitionParser("annotation-driven", new AnnotationDrivenParser());
registerBeanDefinitionParser("channel", new ChannelParser());
registerBeanDefinitionParser("channel", new ChannelParser(false));
registerBeanDefinitionParser("source-adapter", new ChannelAdapterParser(true));
registerBeanDefinitionParser("target-adapter", new ChannelAdapterParser(false));
registerBeanDefinitionParser("endpoint", new EndpointParser());