You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by "Hadrian Zbarcea (JIRA)" <ji...@apache.org> on 2008/04/24 23:32:43 UTC
[jira] Updated: (CAMEL-482) Incorrect behavior of intercept() if
more than one route configured
[ 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 {
// 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}
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.
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");
}
};
}
> 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 {
> // 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}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.