custom interceptor - wrapProcessorInInterceptors - passing parent Description
on Split
--------------------------------------------------------------------------------------
Key: CAMEL-3928
URL: https://issues.apache.org/jira/browse/CAMEL-3928
Project: Camel
Issue Type: Bug
Components: camel-core
Affects Versions: 2.7.1, 2.7.0, 2.6.0, 2.5.0, 2.4.0, 2.3.0, 2.2.0
Environment: ubuntu 10.04
java version "1.6.0_22"
Java HotSpot(TM) Client VM (build 17.1-b03, mixed mode, sharing)
Reporter: Javier Arias
In routes with a split step, when my wrapProcessorInInterceptors method is
called, the ProcessorDefinition<?> paremeter is referencing the Split
definition instead of steps inside it.
For example, for the route:
from("direct:a").routeId("route:a")
.split(xpath("//a/b")).id("task:split.products")
.log("*** splited ::: body : ${body} ").id("task:handle.that") (*)
.setHeader("insplit",constant("in-split")) (*)
.end()
.log("* aftersplit ::: body : ${body}").id("task:after.split");
for steps inside the split (*) the ProcessorDefinition is referencing the
splitdefinition, while i think it should point to the log and setHeader steps.
It can be easily fixed, in class:::
org.apache.camel.processor.DefaultChannel
in the method initChannel, changing
target = strategy.wrapProcessorInInterceptors(routeContext.getCamelContext(),
outputDefinition, target, next);
by this:
target = strategy.wrapProcessorInInterceptors(routeContext.getCamelContext(),
traceDef, target, next);
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira