This is an automated email from the ASF dual-hosted git repository.

lburgazzoli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-k-runtime.git

commit 0f96858c5de8e3b40a96c69682a8b08ce69b84d7
Author: Luca Burgazzoli <[email protected]>
AuthorDate: Tue Sep 22 08:28:18 2020 +0200

    yaml dsl: document how to create beans using YAML #487
---
 docs/modules/languages/pages/yaml.adoc | 47 +++++++++++++++++++++++++++++++++-
 1 file changed, 46 insertions(+), 1 deletion(-)

diff --git a/docs/modules/languages/pages/yaml.adoc 
b/docs/modules/languages/pages/yaml.adoc
index 2a8f786..c94e563 100644
--- a/docs/modules/languages/pages/yaml.adoc
+++ b/docs/modules/languages/pages/yaml.adoc
@@ -7,7 +7,7 @@ The YAML DSL is current in preview support level.
 
 == Defining a route
 
-A route is a sequence of elements, or `steps`, defined as follows:
+A route is collection of elements defined as follows:
 
 [source,yaml]
 ----
@@ -112,6 +112,51 @@ set-body:
 In case you want to use the data-format's default settings, you need to place 
an empty block as data format parameters, like `json: {}`
 ====
 
+== Defining beans
+
+In addition to the general support for creating beans provided by 
https://camel.apache.org/components/latest/others/main.html#_specifying_custom_beans[Camel
 Main], the YAML DSL provide a convenient syntax to define and configure them:
+
+[source,yaml]
+----
+- beans:
+  - name: beanFromMap  # <1>
+    type: com.acme.MyBean # <2>
+    properties: # <3>
+      foo: bar
+----
+<1> the name of the bean which will be used to bound the instance to the Camel 
Registry
+<2> the full qualified class name of the bean
+<3> the properties of the bean to be set
+
+The properties of the bean can be defined using either a map or properties 
style as shown in the example below:
+
+[source,yaml]
+----
+- beans:
+  # map style
+  - name: beanFromMap
+    type: com.acme.MyBean
+    properties:
+      field1: 'f1'
+      field2: 'f2'
+      nested:
+        field1: 'nf1'
+        field2: 'nf2'
+  # properties style
+  - name: beanFromProps
+    type: com.acme.MyBean
+    properties:
+      field1: 'f1_p'
+      field2: 'f2_p'
+      nested.field1: 'nf1_p'
+      nested.field2: 'nf2_p'
+----
+
+[NOTE]
+====
+The `beans` elements can only be used as root element
+====
+
 == Extending the DSL
 
 The DSL is designed to be easily extended, so you can provide your own step 
handler which is discovered at runtime using Camel's factory finder.

Reply via email to