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

Reply via email to