Claus Ibsen created CAMEL-19749:
-----------------------------------

             Summary: camel-core - Allow users to use variables in route to 
store data instead of headers
                 Key: CAMEL-19749
                 URL: https://issues.apache.org/jira/browse/CAMEL-19749
             Project: Camel
          Issue Type: New Feature
          Components: camel-core
            Reporter: Claus Ibsen
             Fix For: 4.x


Users that need to do message transformation in Camel routes may find 
themselves having to store data in headers / claim-check / exchange properties 
from multiple sources before they have all data needed to build a response 
message.

Today users are doing this in different ways.

However we may want to introduce variables that users can name and store the 
data, then they can do this more intuitive, like they would do in a programming 
language.

{code}
from(kafka("topic1").setVar("customer"))
   .to("sql:get-order-by-cust?id=${var.customer.id}").setVar("order")
    .transform().simple( ' Thank you ${var.customer.name} for ordering 
${var.order.item}'))
{code}

Then you have 2 variables
- customer
- order

Then the variable customer can be used anywhere in Camel like it was a header 
with ${header.xxx} but with ${var.customer} in the simple language etc.

This proposal needs some more though and design/prototype.

But this should be done in a way that does not affect regular Camel DSL as it 
is, but with variables then results during routing that usually will be 
override current message body / headers, are stored in variables, that the user 
assign a name and therefore better can understand what the data the variable 
contains are.






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

Reply via email to