You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by "Claus Ibsen (JIRA)" <ji...@apache.org> on 2011/05/04 13:26:03 UTC
[jira] [Resolved] (CAMEL-3928) custom interceptor -
wrapProcessorInInterceptors - passing parent Description on Split
[ https://issues.apache.org/jira/browse/CAMEL-3928?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Claus Ibsen resolved CAMEL-3928.
--------------------------------
Resolution: Fixed
Fix Version/s: 2.8.0
Javier thanks for reporting. I have fixed this on trunk, and added unit test as well.
> 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.2.0, 2.3.0, 2.4.0, 2.5.0, 2.6.0, 2.7.0, 2.7.1
> 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
> Assignee: Claus Ibsen
> Fix For: 2.8.0
>
> Original Estimate: 0h
> Remaining Estimate: 0h
>
> 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