You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2019/09/17 02:30:47 UTC
[camel] 03/04: CAMEL-13964: Use camel-main instead of blocking
thread manually
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 <om...@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();
}
}