Hi, I've tried camel 2.13.0 and it shows the same symptoms. Thanks
On Wed, Jun 4, 2014 at 11:59 PM, João Rodrigues <[email protected]> wrote: > I've noticed the weaveById() creates a duplicated endpoint if there's a > "choice" in my camel route. > I'm running camel 2.12.3 with java 1.7.0_55. > > I've built a test case to demonstrate this issue: > git clone https://github.com/joaocenoura/sandbox.git > mvn clean package -f sandbox/camel-weaving/pom.xml > > There are two junit test with the following routes: > GoodRouteTest > > from("direct:start").id("start") > .to("mock:checkpoint").id("checkpoint") > .to("mock:end").id("end"); > > > BadRouteTest > > from("direct:start").id("start") > .setHeader("hello", constant("world")) > .choice() > .when(header("hello").isEqualTo("world")) > .to("mock:checkpoint").id("checkpoint") > .endChoice() > .otherwise() > // this shouldn't be called > .to("mock:deadend").id("deadend") > .end() > .to("mock:end").id("end"); > > > The BadRouteTest just introduces the choice/when/otherwise. > The problem is when I add a AdviseWithRouteBuilder with > 'weaveById("checkpoint").before().to("mock:checkpoint.before");' it creates > 2 endpoints instead of one. I've noticed the logs of junit confirms that. > > Excerpt of GoodRouteTest logs: > 23:44:45,644 INFO - - AdviceWithTasks > - AdviceWith (checkpoint) : [To[mock:checkpoint]] --> before [pipeline -> > [[To[mock:checkpoint.before]]]] > 23:44:45,644 INFO - - AdviceWithTasks > - AdviceWith (checkpoint) : [To[mock:checkpoint]] --> after [pipeline -> > [[To[mock:checkpoint.after]]]] > > Excerpt of BadRouteTest logs: > 23:44:45,740 INFO - - AdviceWithTasks > - AdviceWith (checkpoint) : [To[mock:checkpoint]] --> before [pipeline -> > [[To[mock:checkpoint.before]]]] > 23:44:45,740 INFO - - AdviceWithTasks > - AdviceWith (checkpoint) : [To[mock:checkpoint]] --> before [pipeline -> > [[To[mock:checkpoint.before]]]] > 23:44:45,740 INFO - - AdviceWithTasks > - AdviceWith (checkpoint) : [To[mock:checkpoint]] --> after [pipeline -> > [[To[mock:checkpoint.after]]]] > 23:44:45,740 INFO - - AdviceWithTasks > - AdviceWith (checkpoint) : [To[mock:checkpoint]] --> after [pipeline -> > [[To[mock:checkpoint.after]]]] > > > Is this a bug or am I doing something wrong? >
