You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Raymond (Jira)" <ji...@apache.org> on 2022/10/19 11:45:00 UTC

[jira] [Created] (CAMEL-18626) Set the ExchangePattern with a routeTemplate

Raymond created CAMEL-18626:
-------------------------------

             Summary: Set the ExchangePattern with a routeTemplate
                 Key: CAMEL-18626
                 URL: https://issues.apache.org/jira/browse/CAMEL-18626
             Project: Camel
          Issue Type: Improvement
    Affects Versions: 3.19.0
            Reporter: Raymond


I would like to set the ExchangePattern dynamically with a routetemplate like this:


{code:java}
routeTemplate("setPattern")
    .templateParameter("in")
    .templateParameter("out")
    .templateParameter("exchangePattern")
    .from("{{in}}")
        .setExchangePattern("{{myExchangePattern}}")
        .to("{{out}}");{code}

This is currently not possible as template parameters expect only Strings. I tried to work around it. For example:



 
{code:java}
.setExchangePattern("ExchangePattern.valueOf({{myExchangePattern}})")

//or
.setProperty("ExchangePattern").simple("${exchange.setPattern('{{ExchangePattern}}')}")
 
{code}
But they don't work because the \{{parameter}} are interpolated too late in the process. For now, I used I set a property and use processor to set the ExchangePattern.



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