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

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 0c643c79eeb0f9f12231e2bec7af360b0f4f2c09
Author: Omar Al-Safi <omars...@gmail.com>
AuthorDate: Mon Sep 16 12:47:30 2019 +0200

    CAMEL-13964: Use camel-main instead of blocking thread manually
---
 examples/camel-example-debezium/pom.xml                 |  4 ++++
 .../debezium/DebeziumMySqlConsumerToKinesis.java        | 17 ++++++++---------
 .../example/debezium/KinesisProducerToCassandra.java    | 16 ++++++++--------
 3 files changed, 20 insertions(+), 17 deletions(-)

diff --git a/examples/camel-example-debezium/pom.xml 
b/examples/camel-example-debezium/pom.xml
index 3930751..95abed6 100644
--- a/examples/camel-example-debezium/pom.xml
+++ b/examples/camel-example-debezium/pom.xml
@@ -45,6 +45,10 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel</groupId>
+            <artifactId>camel-main</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
             <artifactId>camel-debezium</artifactId>
         </dependency>
         <dependency>
diff --git 
a/examples/camel-example-debezium/src/main/java/org/apache/camel/example/debezium/DebeziumMySqlConsumerToKinesis.java
 
b/examples/camel-example-debezium/src/main/java/org/apache/camel/example/debezium/DebeziumMySqlConsumerToKinesis.java
index 3288815..f4b9550 100644
--- 
a/examples/camel-example-debezium/src/main/java/org/apache/camel/example/debezium/DebeziumMySqlConsumerToKinesis.java
+++ 
b/examples/camel-example-debezium/src/main/java/org/apache/camel/example/debezium/DebeziumMySqlConsumerToKinesis.java
@@ -19,12 +19,11 @@ package org.apache.camel.example.debezium;
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.aws.kinesis.KinesisConstants;
 import org.apache.camel.component.debezium.DebeziumConstants;
 import org.apache.camel.component.properties.PropertiesComponent;
-import org.apache.camel.impl.DefaultCamelContext;
+import org.apache.camel.main.Main;
 import org.apache.camel.model.dataformat.JsonLibrary;
 import org.apache.kafka.connect.data.Struct;
 import org.slf4j.Logger;
@@ -37,6 +36,9 @@ public final class DebeziumMySqlConsumerToKinesis {
 
     private static final Logger LOG = 
LoggerFactory.getLogger(DebeziumMySqlConsumerToKinesis.class);
 
+    // use Camel Main to setup and run Camel
+    private static Main main = new Main();
+
     private DebeziumMySqlConsumerToKinesis() {
     }
 
@@ -44,10 +46,8 @@ public final class DebeziumMySqlConsumerToKinesis {
 
         LOG.debug("About to run Debezium integration...");
 
-        final CamelContext camelContext = new DefaultCamelContext();
-
-
-        camelContext.addRoutes(new RouteBuilder() {
+        // add route
+        main.addRouteBuilder(new RouteBuilder() {
             public void configure() {
                 final PropertiesComponent pc = 
getContext().getComponent("properties", PropertiesComponent.class);
                 pc.setLocation("classpath:application.properties");
@@ -103,10 +103,9 @@ public final class DebeziumMySqlConsumerToKinesis {
                         .end();
             }
         });
-        camelContext.start();
 
-        // We block the thread here
-        Thread.sleep(Long.MAX_VALUE);
+        // start and run Camel (block)
+        main.run();
     }
 
 }
diff --git 
a/examples/camel-example-debezium/src/main/java/org/apache/camel/example/debezium/KinesisProducerToCassandra.java
 
b/examples/camel-example-debezium/src/main/java/org/apache/camel/example/debezium/KinesisProducerToCassandra.java
index 007b598..846f3d7 100644
--- 
a/examples/camel-example-debezium/src/main/java/org/apache/camel/example/debezium/KinesisProducerToCassandra.java
+++ 
b/examples/camel-example-debezium/src/main/java/org/apache/camel/example/debezium/KinesisProducerToCassandra.java
@@ -20,10 +20,9 @@ import java.util.Arrays;
 import java.util.Collections;
 import java.util.Map;
 
-import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.properties.PropertiesComponent;
-import org.apache.camel.impl.DefaultCamelContext;
+import org.apache.camel.main.Main;
 import org.apache.camel.model.dataformat.JsonLibrary;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -35,6 +34,9 @@ public final class KinesisProducerToCassandra {
 
     private static final Logger LOG = 
LoggerFactory.getLogger(KinesisProducerToCassandra.class);
 
+    // use Camel Main to setup and run Camel
+    private static Main main = new Main();
+
     private KinesisProducerToCassandra() {
     }
 
@@ -42,9 +44,8 @@ public final class KinesisProducerToCassandra {
 
         LOG.debug("About to run Kinesis to Cassandra integration...");
 
-        final CamelContext camelContext = new DefaultCamelContext();
-
-        camelContext.addRoutes(new RouteBuilder() {
+        // add route
+        main.addRouteBuilder(new RouteBuilder() {
             public void configure() {
                 final PropertiesComponent pc = 
getContext().getComponent("properties", PropertiesComponent.class);
                 pc.setLocation("classpath:application.properties");
@@ -101,10 +102,9 @@ public final class KinesisProducerToCassandra {
                         .end();
             }
         });
-        camelContext.start();
 
-        // We block the thread here
-        Thread.sleep(Long.MAX_VALUE);
+        // start and run Camel (block)
+        main.run();
     }
 
 }

Reply via email to