[
https://issues.apache.org/jira/browse/CAMEL-19749?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17809797#comment-17809797
]
Raymond commented on CAMEL-19749:
---------------------------------
+1 for setting variable as a language. Makes the syntax much easier.
On this remark:
"Should we use Message as the object, or only the message body? If using
Message we have access to both body and headers, but makes the variable a
little bit hard to use, as you then need to specify if you want the body, or a
specific header / headers."
Can you give examples on where to use Message or Message Body? Not fully clear
in what case this would apply.
> 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, eip
> Reporter: Claus Ibsen
> Assignee: Claus Ibsen
> Priority: Major
> Fix For: 4.4.0
>
>
> 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)