oscerd opened a new pull request, #26019: URL: https://github.com/apache/camel/pull/26019
## Backport of #25992 Backport of #25992 (CAMEL-24576) onto `camel-4.18.x`. **Original PR:** #25992 — CAMEL-24576: camel-dynamic-router - do not take the subscription predicate from the control message by default **Target branch:** `camel-4.18.x` > **This is not a straight cherry-pick.** This branch lacks three things the original change relies on, > so the port is reduced to the control-endpoint gate. Please review it as a normal PR. ### What was dropped, and why | Dropped | Reason | |---|---| | `security = "insecure:dev"` / `insecureValue = "true"` on the new `@UriParam` | `UriParam` on this branch has neither attribute. The option is a plain `@UriParam(label = "control,security", defaultValue = "false")`. | | The `core/camel-util` `SecurityUtils` entry | `SecurityUtils` does not exist on this branch — there is no insecure-options registry to register with. | | `allowedSchemes` on the `dynamic-router` endpoint and its `RecipientList` wiring | `RecipientList.setAllowedSchemes` does not exist on this branch (it arrived with CAMEL-24298 in 4.22.0). | | `DynamicRouterDefaultAggregationIT` change | That test does not exist on this branch. | | `camel-4x-upgrade-guide-4_23.adoc` | Upgrade guides for every release line live on `main`. The 4.18 entry is added to `camel-4x-upgrade-guide-4_18.adoc` on `main` in a separate doc-sync PR. | One conflict was resolved by hand: the `dynamic-router` component doc on this branch still uses the single-Java-snippet form rather than the multi-DSL tabs, so the bridge example keeps that shape and gains the `allowPredicateFromMessage=true` parameter. ### What it does `allowPredicateFromMessage` on the `dynamic-router-control` endpoint, default `false`. When it is `false`, a control message that supplies a `predicate` or an `expressionLanguage` is rejected, and the values configured on the endpoint are used instead. `resolveStaticUri` keeps the flag on the optimised URI so `toD` cannot strip it, and the flag is deliberately absent from `URI_PARAMS_TO_HEADER_NAMES` so it can never be set from a message. Subscription parameters now fall back to the endpoint configuration. The `predicateBean` path and the JMX operations are unchanged. ### Compatibility This changes a default on a maintenance line. A deployment that lets control messages carry their own predicate must set `allowPredicateFromMessage=true`, or switch those subscriptions to `predicateBean`. _Claude Code on behalf of oscerd_ -- 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]
