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(); } }