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

Reply via email to