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 Regards, Valentin Brückel [cid:72b38cd3-a335-49ba-a34a-cf703d6a733a] predic8 GmbH Koblenzer Str. 65 53173 Bonn predic8.de<https://www.predic8.de/> Tel: +4<https://predic8-wiki.atlassian.net/wiki/spaces/inet/pages/372670466/Outlook#>9 (0) 228 5552576-0 Fax: +49 (0) 228 5552576-50 Amtsgericht Bonn HRB 16152 Geschäftsführer: Thomas Bayer, Tobias Polley