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)