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]

Reply via email to