This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch camel-4.0.x
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-4.0.x by this push:
new 289a76353bf CAMEL-20066: camel-language - Missing examples in docs
289a76353bf is described below
commit 289a76353bfb2003cbdaeb7affd176c1f5b41d76
Author: Claus Ibsen <[email protected]>
AuthorDate: Mon Nov 6 09:38:22 2023 +0100
CAMEL-20066: camel-language - Missing examples in docs
---
.../src/main/docs/language-component.adoc | 46 ++++++++++++++++------
1 file changed, 34 insertions(+), 12 deletions(-)
diff --git a/components/camel-language/src/main/docs/language-component.adoc
b/components/camel-language/src/main/docs/language-component.adoc
index fc086315902..743fd3db516 100644
--- a/components/camel-language/src/main/docs/language-component.adoc
+++ b/components/camel-language/src/main/docs/language-component.adoc
@@ -15,17 +15,17 @@
*{component-header}*
-The Language component allows you to send Exchange
+The Language component allows you to send `Exchange`
to an endpoint which executes a script by any of the supported
-Languages in Camel. +
- By having a component to execute language scripts, it allows more
+Languages in Camel.
+
+By having a component to execute language scripts, it allows more
dynamic routing capabilities. For example by using the
Routing Slip or xref:eips:dynamicRouter-eip.adoc[Dynamic
Router] EIPs you can send messages to `language` endpoints where the
script is dynamic defined as well.
-This component is provided out of the box in `camel-core` and hence no
-additional JARs is needed. You only have to include additional Camel
+You only have to include additional Camel
components if the language of choice mandates it, such as using
xref:languages:groovy-language.adoc[Groovy] or
xref:languages:groovy-language.adoc[JavaScript] languages.
@@ -62,8 +62,8 @@ include::partial$component-endpoint-headers.adoc[]
== Examples
-For example, you can use the xref:languages:simple-language.adoc[Simple]
language to
-Message Translator a message:
+For example, you can use the xref:languages:simple-language.adoc[Simple]
language as
+xref:eips:message-translator.adoc[Message Translator] EIP:
[source,java]
----
@@ -103,16 +103,38 @@ assertEquals("Hello World", out);
You can specify a resource uri for a script to load in either the
endpoint uri, or in the `Exchange.LANGUAGE_SCRIPT` header.
-The uri must start with one of the following schemes: file:, classpath:, or
http:
+The uri must start with one of the following schemes: `file:`, `classpath:`,
or `http:`
+
+[source,java]
+----
+from("direct:start")
+ // load the script from the classpath
+
.to("language:simple:resource:classpath:org/apache/camel/component/language/mysimplescript.txt")
+ .to("mock:result");
+----
By default, the script is loaded once and cached. However, you can disable
the `contentCache` option and have the script loaded on each
-evaluation. For example if the file myscript.txt is changed on disk, then the
+evaluation. For example if the file _myscript.txt_ is changed on disk, then the
updated script is used:
-You can refer to the resource similar to the
-other xref:language-component.adoc[Language]s in Camel by prefixing with
-`"resource:"` as shown below:
+[source,java]
+----
+from("direct:start")
+ // the script will be loaded on each message, as we disabled cache
+ .to("language:simple:myscript.txt?contentCache=false")
+ .to("mock:result");
+----
+
+You can also refer to the script as a resource similar to how all the
+other xref:language-component.adoc[Language]s in Camel functions, by prefixing
with
+`resource:` as shown below:
+[source,java]
+----
+from("direct:start")
+
.to("language:constant:resource:classpath:org/apache/camel/component/language/hello.txt")
+ .to("mock:result");
+----
include::spring-boot:partial$starter.adoc[]