camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hadrian Zbarcea (JIRA)" <j...@apache.org>
Subject [jira] Updated: (CAMEL-482) Incorrect behavior of intercept() if more than one route configured
Date Thu, 24 Apr 2008 21:32:43 GMT

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

Hadrian Zbarcea updated CAMEL-482:
----------------------------------

    Description: 
With the RouteBuilder defining more than one route, the intercept() will actually have one
instance of the interceptor shared among routes which causes the odd behavior of proceeding
to a destination in all routes.  For instance in the example below, sending a message to "direct:foo"
will cause both "mock:one" and "mock:two" to receive a message.

{code}
    protected RouteBuilder createRouteBuilder() throws Exception {
        return new RouteBuilder() {
            public void configure() throws Exception {
                intercept().to("log:foo").proceed();

                from("direct:foo").to("mock:one");
                from("direct:bar").to("mock:two");
            }
        };
    }
{code}


  was:
With the RouteBuilder defining more than one route, the intercept() will actually have one
instance of the interceptor shared among routes which causes the odd behavior of proceeding
to a destination in all routes.  For instance in the example below, sending a message to "direct:foo"
will cause both "mock:one" and "mock:two" to receive a message.

{code}
    protected RouteBuilder createRouteBuilder() throws Exception {
        return new RouteBuilder() {
            public void configure() throws Exception {
                // lets log all steps in all routes (must use proceed to let the exchange
continue its
                // normal route path instead of swallowing it here by our intercepter.
                intercept().to("log:foo").proceed();

                from("direct:foo").to("mock:one");
                from("direct:bar").to("mock:two");
            }
        };
    }
{code}



> Incorrect behavior of intercept() if more than one route configured
> -------------------------------------------------------------------
>
>                 Key: CAMEL-482
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-482
>             Project: Apache Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 1.3.0
>            Reporter: Hadrian Zbarcea
>            Assignee: Hadrian Zbarcea
>             Fix For: 1.4.0
>
>
> With the RouteBuilder defining more than one route, the intercept() will actually have
one instance of the interceptor shared among routes which causes the odd behavior of proceeding
to a destination in all routes.  For instance in the example below, sending a message to "direct:foo"
will cause both "mock:one" and "mock:two" to receive a message.
> {code}
>     protected RouteBuilder createRouteBuilder() throws Exception {
>         return new RouteBuilder() {
>             public void configure() throws Exception {
>                 intercept().to("log:foo").proceed();
>                 from("direct:foo").to("mock:one");
>                 from("direct:bar").to("mock:two");
>             }
>         };
>     }
> {code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message