camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Claus Ibsen <claus.ib...@gmail.com>
Subject Re: AdviceWithRouteBuilder.weaveById() creates duplicated endpoint
Date Fri, 06 Jun 2014 13:20:20 GMT
Hi

Feel free to log a JIRA ticket
http://camel.apache.org/support

Also maybe try some of the other weaveByXXX to see if any of those works.

On Thu, Jun 5, 2014 at 4:40 PM, João Rodrigues
<jlrodrigues.dev@gmail.com> wrote:
> 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 <jlrodrigues.dev@gmail.com>
> 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?
>>



-- 
Claus Ibsen
-----------------
Red Hat, Inc.
Email: cibsen@redhat.com
Twitter: davsclaus
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen
hawtio: http://hawt.io/
fabric8: http://fabric8.io/

Mime
View raw message