davsclaus opened a new pull request, #26051: URL: https://github.com/apache/camel/pull/26051
## Backport of #26038 Cherry-pick (`-x`) of #26038 onto `camel-4.18.x`. ⚠️ **Not a straight cherry-pick — required manual conflict resolution**, so this backport should get a normal review (do not merge as-is). **Conflict:** a single field-declaration hunk in `JmxManagementLifecycleStrategy.java`. `main` has `managedThreadPools` typed as `Map<Object, Object>` (an unrelated divergence) whereas `camel-4.18.x` has `Map<ThreadPoolExecutor, Object>`. Resolution kept 4.18.x's existing type and added the new `managedRouteGroups` field. All other hunks (onRoutesAdd guard + `computeIfAbsent`, onRoutesRemove `remove`, doStop `clear`) and both test files applied cleanly. The functional change is identical to the merged PR. **Original PR:** #26038 **Original author:** @davsclaus **Target branch:** `camel-4.18.x` ### Original description Fixes CAMEL-24590: route group MBean performance statistics did not aggregate across the group's member routes — they reported the counters of a single arbitrary member route. `getManagedObjectForRouteGroup` created a new `ManagedRouteGroup` per call, so each member route's composite counter wired to a different instance while only the first-registered one became the JMX MBean. Cache a single `ManagedRouteGroup` per group name so all member routes share one counter instance, producing a true group-wide total. Evicted when the group's last route is removed and cleared on stop. _Claude Code on behalf of davsclaus_ -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
