Claus Ibsen created CAMEL-22095: ----------------------------------- Summary: camel-core - Rest DSL with inlined routes does not work with AdviceWith testing Key: CAMEL-22095 URL: https://issues.apache.org/jira/browse/CAMEL-22095 Project: Camel Issue Type: Bug Components: camel-core, camel-test Affects Versions: 4.10.4, 4.8.7 Reporter: Claus Ibsen Assignee: Claus Ibsen Fix For: 4.8.8, 4.10.5, 4.12.0
!https://ssl.gstatic.com/ui/v1/icons/mail/profile_mask_2x.png! | |h3. Valentin Brückel bruec...@predic8.de [via|https://support.google.com/mail/answer/1311182?hl=en] camel.apache.org h3. | |10:57 AM (28 minutes ago) | |!https://mail.google.com/mail/u/0/images/cleardot.gif! !https://mail.google.com/mail/u/0/images/cleardot.gif! !https://mail.google.com/mail/u/0/images/cleardot.gif!| | |to us...@camel.apache.org !https://mail.google.com/mail/u/0/images/cleardot.gif!| | Dear Camel Team, I ran into an issue when updating a client's Camel routes to a version past 4.5 (which does inline routes into REST routes by default): AdviceWithTasks.doReplace() / getOutputs() works on a List of Outputs. To get this list, it looks up a node's parent field. If the Route was inlined, this parent field points to the original route object instead of the active one, because DefaultModel.addRouteDefinitions() does not update the parent fields in the inlining process. As a result, AdviceWith manipulates a route that is not active anymore and has no effect on the route that is actually running. As a workaround, inlining can be disabled, but I still feel this is a bug, or rather two: * Inlining should properly update fiels of copied nodes * AdviceWithTasks.getOutputs(ProcessorDefinition<?> node, RouteDefinition route) should probably get the outputs from the route rather than the indirect lookup via the parent in most cases -- This message was sent by Atlassian Jira (v8.20.10#820010)