You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claus Ibsen (Jira)" <ji...@apache.org> on 2024/01/19 09:24:00 UTC
[jira] [Comment Edited] (CAMEL-19749) camel-core - Allow users to use variables in route to store data instead of headers
[ https://issues.apache.org/jira/browse/CAMEL-19749?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17808317#comment-17808317 ]
Claus Ibsen edited comment on CAMEL-19749 at 1/19/24 9:23 AM:
--------------------------------------------------------------
TODO: get variable should auto reset stream cached so its easy to use *DONE*
was (Author: davsclaus):
TODO: get variable should auto reset stream cached so its easy to use
> 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)