Andrea Cosentino created CAMEL-24414:
----------------------------------------

             Summary: camel-core - resolve dynamic-URI property placeholders at 
build time for recipientList, routingSlip, dynamicRouter and pollEnrich
                 Key: CAMEL-24414
                 URL: https://issues.apache.org/jira/browse/CAMEL-24414
             Project: Camel
          Issue Type: Improvement
          Components: camel-core
            Reporter: Andrea Cosentino
            Assignee: Andrea Cosentino
             Fix For: 4.23.0


CAMEL-24282 changed toD and enrich so that {{...}} property placeholders are 
resolved once at build time instead of being re-expanded per message on the 
evaluated recipient, matching the documented contract that placeholder 
resolution operates on route and configuration text. That change explicitly 
left the other dynamic-URI EIPs alone - its commit message states 
"recipientList/routingSlip/dynamicRouter/pollEnrich are unchanged".

Those EIPs still call ProcessorHelper.prepareRecipient():

* RecipientListProcessor.java:260
* RoutingSlip.java:265 (synchronous path) and RoutingSlip.java:469 
(asynchronous continuation path - both need the change)
* PollEnricher.java:305

ProcessorHelper.prepareRecipient() ends in 
ecc.getCamelContextExtension().normalizeUri(uri), and 
DefaultCamelContextExtension.normalizeUri() calls 
EndpointHelper.resolveEndpointUriPropertyPlaceholders() - so a {{...}} token 
that only appears in the per-message recipient value is still expanded.

SendDynamicProcessor already carries its own overridden prepareRecipient() with 
the build-time behaviour (the CAMEL-24282 fix). This issue is to give the 
remaining four EIPs the same treatment so the whole dynamic-URI family behaves 
consistently.

Note the allowedSchemes allow-list added in CAMEL-24298 is opt-in and 
orthogonal - it constrains the scheme, not placeholder expansion.

Behaviour change, so main only, with an upgrade-guide entry mirroring the 
CAMEL-24282 one.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to