[
https://issues.apache.org/activemq/browse/CAMEL-1708?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=52245#action_52245
]
Claus Ibsen commented on CAMEL-1708:
------------------------------------
Stephen
Very good work. Its definitely great.
Just a few comments:
- I think we should name the includes like the file based one: so they should
end with and s: *includes* and *excludes*.
- The patch includes changes to files that hasn't anything with this new
feature (I saw 1 unit test). The problem is that it looks like some auto code
formatter has been applied and it changes the existing format. So is it
possible to tone down this? For instance could you look into you changes files
and revert the changes where it is not needed to respect the existing code
format.
- And could you run: {{mvn compile -Psourcecheck}} that runs a checkstyle that
all Camel code should adhere to.
- Good idea about the sub scan package and leveraging what we got in there. :)
By again cool feature, great work and we love it. You got great skills!
Would you also be willing to help with documenting this new feature?
> 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.