[ 
https://issues.apache.org/activemq/browse/CAMEL-1708?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Stephen Gargan updated CAMEL-1708:
----------------------------------

    Priority: Minor  (was: Major)

> 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
>            Priority: Minor
>         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.

Reply via email to