This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
commit 177c25f36b9d5f3eeb8f324e19ccdc29431be3db Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Wed Aug 18 14:06:48 2021 +0200 Polish and cleanup documentation --- .../ROOT/pages/using-propertyplaceholder.adoc | 39 +++++++++++++--------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/docs/user-manual/modules/ROOT/pages/using-propertyplaceholder.adoc b/docs/user-manual/modules/ROOT/pages/using-propertyplaceholder.adoc index 5ddff63..9957100 100644 --- a/docs/user-manual/modules/ROOT/pages/using-propertyplaceholder.adoc +++ b/docs/user-manual/modules/ROOT/pages/using-propertyplaceholder.adoc @@ -229,6 +229,8 @@ xref:producertemplate.adoc[ProducerTemplate] for example: template.sendBody("{{cool.start}}", "Hello World"); ---- +=== Using property placeholders with consumer template + This can also be done when using xref:consumertemplate.adoc[ConsumerTemplate], such as: [source,java] @@ -236,36 +238,43 @@ This can also be done when using xref:consumertemplate.adoc[ConsumerTemplate], s Object body = template.receiveBody("{{cool.start}}"); ---- - - -[[UsingPropertyPlaceholder-Examplewithlanguage]] -== Example with xref:components:languages:simple-language.adoc[Simple] language +== Using property placeholders with simple language The xref:components:languages:simple-language.adoc[Simple] language now also support using property placeholders, for example in the route below: +[source,properties] +---- +cheese.quote = Camel rocks +---- + +And in the route you can use the placeholder with the usual syntax `{{key}}` as shown: [source,java] ---- -// properties -cheese.quote=Camel rocks +from("direct:start") + .transform().simple("Hi ${body} do you think {{cheese.quote}}?"); +---- -// route from("direct:start") - .transform().simple("Hi ${body} do you think ${properties:cheese.quote}?"); +What happens is that Camel will resolve the placeholder during initialization of the route, +so the route becomes: + +[source,java] +---- +from("direct:start") + .transform().simple("Hi ${body} do you think Camel rocks?"); ---- -You can also specify the location in the xref:components:languages:simple-language.adoc[Simple] -language for example: +So the simple language would not have any property placeholders anymore. +This is the most common way. +However, if the placeholder must be resolved by simple language itself, +then you can use its `${properties}` function: [source,java] ---- -// bar.properties -bar.quote=Beer tastes good - -// route from("direct:start") - .transform().simple("Hi ${body}. ${properties:com/mycompany/bar.properties:bar.quote}."); + .transform().simple("Hi ${body} do you think ${properties:cheese.quote}?"); ----