CAMEL-15068: camel-example-main-endpointdsl - Add example using Endpoing DSL
diff --git a/examples/README.adoc b/examples/README.adoc
index 3d235bc..27c6321 100644
--- a/examples/README.adoc
+++ b/examples/README.adoc
@@ -11,7 +11,7 @@
== Examples
// examples: START
-Number of Examples: 84 (0 deprecated)
+Number of Examples: 85 (0 deprecated)
[width="100%",cols="4,2,4",options="header"]
|===
@@ -37,6 +37,8 @@
| link:camel-example-main/readme.adoc[Main] (camel-example-main) | Beginner | An example for showing standalone Camel
+| link:camel-example-main-endpointdsl/readme.adoc[Main Endpointdsl] (camel-example-main-endpointdsl) | Beginner | An example for showing standalone Camel with Endpoint DSL
+
| link:camel-example-main-tiny/readme.adoc[Main Tiny] (camel-example-main-tiny) | Beginner | An example for showing standalone Camel with as few JARs on classpath as possible
| link:camel-example-main-xml/readme.adoc[Main Xml] (camel-example-main-xml) | Beginner | An example for showing standalone Camel using XML
diff --git a/examples/camel-example-main-endpointdsl/src/main/java/org/apache/camel/example/MyBean.java b/examples/camel-example-main-endpointdsl/src/main/java/org/apache/camel/example/MyBean.java
index 348a0a6..c8f350f 100644
--- a/examples/camel-example-main-endpointdsl/src/main/java/org/apache/camel/example/MyBean.java
+++ b/examples/camel-example-main-endpointdsl/src/main/java/org/apache/camel/example/MyBean.java
@@ -16,12 +16,10 @@
*/
package org.apache.camel.example;
-import org.apache.camel.spi.Configurer;
-
-@Configurer
public class MyBean {
private String hi;
+ private int counter;
public String getHi() {
return hi;
@@ -32,7 +30,7 @@
}
public String hello() {
- return hi + " how are you?";
+ return hi + " how are you? I am called " + ++counter + " times";
}
}
diff --git a/examples/camel-example-main-endpointdsl/src/main/java/org/apache/camel/example/MyRouteBuilder.java b/examples/camel-example-main-endpointdsl/src/main/java/org/apache/camel/example/MyRouteBuilder.java
index 41e0bf9..c1c14cd 100644
--- a/examples/camel-example-main-endpointdsl/src/main/java/org/apache/camel/example/MyRouteBuilder.java
+++ b/examples/camel-example-main-endpointdsl/src/main/java/org/apache/camel/example/MyRouteBuilder.java
@@ -16,6 +16,7 @@
*/
package org.apache.camel.example;
+import org.apache.camel.BeanScope;
import org.apache.camel.builder.endpoint.EndpointRouteBuilder;
/**
@@ -25,8 +26,19 @@
@Override
public void configure() throws Exception {
- from(timer("foo").period("{{myPeriod}}"))
- .to(bean("myBean").method("hello"))
+ // the endpoint-dsl allows to define endpoints in type safe fluent builders
+ // here we configure the time and bean endpoint
+
+ from(timer("foo")
+ .period("{{myPeriod}}") // here we use {{ }} to refer to properties from application.properties
+ .includeMetadata(false)
+ .repeatCount(123))
+ .to(bean("org.apache.camel.example.MyBean")
+ .method("hello")
+ // try change this to Prototype scope
+ .scope(BeanScope.Singleton)
+ // we can configure advanced options
+ .advanced().parameters("hi", "Davs"))
.log("${body}");
}
}
diff --git a/examples/camel-example-main-endpointdsl/src/main/resources/application.properties b/examples/camel-example-main-endpointdsl/src/main/resources/application.properties
index 0726a51..5d62b5d 100644
--- a/examples/camel-example-main-endpointdsl/src/main/resources/application.properties
+++ b/examples/camel-example-main-endpointdsl/src/main/resources/application.properties
@@ -31,7 +31,4 @@
# properties used in the route
myPeriod = 1000
-# configure beans
-camel.beans.myBean = #class:org.apache.camel.example.MyBean
-camel.beans.myBean.hi = Hello