Allow for the selection of Routes during package scan using Ant like Path
matching
----------------------------------------------------------------------------------
Key: CAMEL-1708
URL: https://issues.apache.org/activemq/browse/CAMEL-1708
Project: Apache Camel
Issue Type: Improvement
Components: camel-spring
Affects Versions: 2.0-M1
Reporter: Stephen Gargan
Attachments: patch.txt
Attached is a patch to allow for Routes to be included and excluded using ant
like path patterns. Packages to be scanned are supplied as ususal, but whether
the Route classes discovered in these packages are included is now also
controlled by sets of include and exclude filters.
This mechanism is defined as a subelement of the CamelContext definition in
Spring context as follows.
<camelContext xmlns="http://camel.apache.org/schema/spring">
<packageScan>
<packages>org.apache.camel.spring.config.scan</packages>
<exclude>**/*Excluded*</exclude>
<include>**/*Included*</include>
</packageScan>
....
</camelContext>
It leverages Spring's AntPathMatcher to match fully qualified class names
against the supplied patterns. The existing <package></package> definition has
been deprecated and will emit a log message suggesting the new mechanism.
This patch also includes code to allow Routes to be selectively excluded via
class matching at test time. i.e.
public class RouteExcludingSpringTest extends SpringTestSupport {
@Override
protected AbstractXmlApplicationContext createApplicationContext() {
return new ClassPathXmlApplicationContext(new String[]
{"routes-context.xml"}, getRouteExcludingApplicationContext());
}
....
@Override
protected Class excludeRoute() {
return MyExcludedRouteBuilder.class;
}
}
I hope you can find this usefull. I'll be happy to make any changes you might
suggest.
rgds,
Stephen
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.