Added support for the 'throw-exception-on-rejection' attribute for the 'filter' element.

This commit is contained in:
Mark Fisher
2008-11-21 22:52:11 +00:00
parent 2b166d6471
commit b53d96ba1e
4 changed files with 36 additions and 2 deletions

View File

@@ -37,6 +37,7 @@ public class FilterParser extends AbstractConsumerEndpointParser {
protected BeanDefinitionBuilder parseHandler(Element element, ParserContext parserContext) {
BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(MessageFilter.class);
builder.addConstructorArgReference(this.parseSelector(element, parserContext));
IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "throw-exception-on-rejection");
return builder;
}

View File

@@ -257,7 +257,15 @@
<xsd:extension base="inputOutputEndpointType">
<xsd:sequence>
<xsd:choice minOccurs="1" maxOccurs="unbounded">
<xsd:element name="filter" type="handlerType"/>
<xsd:element name="filter">
<xsd:complexType>
<xsd:complexContent>
<xsd:extension base="handlerType">
<xsd:attribute name="throw-exception-on-rejection" type="xsd:string" default="false"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="transformer" type="handlerType"/>
<xsd:element name="service-activator" type="handlerType"/>
<xsd:element name="splitter" type="handlerType"/>
@@ -424,12 +432,19 @@
</xsd:annotation>
</xsd:element>
<xsd:element name="filter" type="inputOutputEndpointType">
<xsd:element name="filter">
<xsd:annotation>
<xsd:documentation>
Defines a Filter.
</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:complexContent>
<xsd:extension base="inputOutputEndpointType">
<xsd:attribute name="throw-exception-on-rejection" type="xsd:string" default="false"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="router">