Added 'default-output-channel' attribute to the <router/> element (INT-367).
This commit is contained in:
@@ -106,6 +106,7 @@ public abstract class AbstractEndpointParser extends AbstractSingleBeanDefinitio
|
||||
ManagedList interceptors = parser.parseInterceptors(interceptorsElement, parserContext);
|
||||
builder.addPropertyValue("interceptors", interceptors);
|
||||
}
|
||||
this.postProcess(element, parserContext, builder);
|
||||
}
|
||||
|
||||
private String parseAdapter(String ref, String method, Element element, ParserContext parserContext) {
|
||||
@@ -118,6 +119,12 @@ public abstract class AbstractEndpointParser extends AbstractSingleBeanDefinitio
|
||||
return adapterBeanName;
|
||||
}
|
||||
|
||||
/**
|
||||
* Subclasses may implement this method to provide additional configuration.
|
||||
*/
|
||||
protected void postProcess(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
|
||||
}
|
||||
|
||||
protected abstract Class<? extends MessageEndpoint> getEndpointClass();
|
||||
|
||||
protected abstract Class<?> getMethodInvokingAdapterClass();
|
||||
|
||||
@@ -16,6 +16,10 @@
|
||||
|
||||
package org.springframework.integration.config;
|
||||
|
||||
import org.w3c.dom.Element;
|
||||
|
||||
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
|
||||
import org.springframework.beans.factory.xml.ParserContext;
|
||||
import org.springframework.integration.endpoint.MessageEndpoint;
|
||||
import org.springframework.integration.router.MethodInvokingChannelResolver;
|
||||
import org.springframework.integration.router.RouterEndpoint;
|
||||
@@ -37,4 +41,9 @@ public class RouterParser extends AbstractEndpointParser {
|
||||
return MethodInvokingChannelResolver.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void postProcess(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
|
||||
IntegrationNamespaceUtils.setReferenceIfAttributeDefined(builder, element, "default-output-channel");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -333,12 +333,19 @@
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
<xsd:element name="router" type="inputEndpointType">
|
||||
<xsd:element name="router">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
Defines a Router.
|
||||
</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:complexType>
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="inputEndpointType">
|
||||
<xsd:attribute name="default-output-channel" type="xsd:string"/>
|
||||
</xsd:extension>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
|
||||
<xsd:element name="splitter" type="inputOutputEndpointType">
|
||||
|
||||
Reference in New Issue
Block a user