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/06/20 06:14:42 UTC
[camel] 12/18: CAMEL-13636: camel3 - SPI for ReactiveHelper so we
can plugin different reactive engines
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 611590e2c86f6a18faa81ece73c373b6b261ddab
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Thu Jun 13 10:26:28 2019 +0200
CAMEL-13636: camel3 - SPI for ReactiveHelper so we can plugin different reactive engines
---
apache-camel/pom.xml | 6 +++++-
apache-camel/src/main/descriptors/common-bin.xml | 1 +
.../java/org/apache/camel/impl/engine/AbstractCamelContext.java | 7 ++++++-
core/camel-reactive-executor-vertx/pom.xml | 5 +++++
.../org/apache/camel/reactive/vertx/VertXReactiveExecutor.java | 4 ++++
.../src/test/java/org/apache/camel/reactive/SimpleMockTest.java | 1 -
examples/camel-example-main/pom.xml | 4 ++++
parent/pom.xml | 5 +++++
8 files changed, 30 insertions(+), 3 deletions(-)
diff --git a/apache-camel/pom.xml b/apache-camel/pom.xml
index 7de3b89..f28438e 100644
--- a/apache-camel/pom.xml
+++ b/apache-camel/pom.xml
@@ -100,7 +100,11 @@
<groupId>org.apache.camel</groupId>
<artifactId>camel-main</artifactId>
</dependency>
-
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-reactive-executor-vertx</artifactId>
+ </dependency>
+
<!-- NOTE: auto-generated list of components when building camel catalog -->
<!-- camel components: START -->
<dependency>
diff --git a/apache-camel/src/main/descriptors/common-bin.xml b/apache-camel/src/main/descriptors/common-bin.xml
index f40548a..2e74e8f 100644
--- a/apache-camel/src/main/descriptors/common-bin.xml
+++ b/apache-camel/src/main/descriptors/common-bin.xml
@@ -374,6 +374,7 @@
<include>org.apache.camel:camel-route-parser</include>
<include>org.apache.camel:camel-headersmap</include>
<include>org.apache.camel:camel-caffeine-lrucache</include>
+ <include>org.apache.camel:camel-reactive-executor-vertx</include>
</includes>
</dependencySet>
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
index d52a395..7519bcd 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
@@ -2581,7 +2581,12 @@ public abstract class AbstractCamelContext extends ServiceSupport implements Ext
getHeadersMapFactory());
}
- log.info("Using ReactiveExecutor: {}", getReactiveExecutor());
+ // lets log at INFO level if we are not using the default reactive executor
+ if (!getReactiveExecutor().getClass().getSimpleName().equals("DefaultReactiveExecutor")) {
+ log.info("Using ReactiveExecutor: {}", getReactiveExecutor());
+ } else {
+ log.debug("Using ReactiveExecutor: {}", getReactiveExecutor());
+ }
// start routes
if (doNotStartRoutesOnFirstStart) {
diff --git a/core/camel-reactive-executor-vertx/pom.xml b/core/camel-reactive-executor-vertx/pom.xml
index bfa6ccd..0ae3475 100644
--- a/core/camel-reactive-executor-vertx/pom.xml
+++ b/core/camel-reactive-executor-vertx/pom.xml
@@ -41,6 +41,11 @@
<dependency>
<groupId>org.apache.camel</groupId>
+ <artifactId>meta-annotations</artifactId>
+ <optional>true</optional>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
<artifactId>camel-support</artifactId>
</dependency>
diff --git a/core/camel-reactive-executor-vertx/src/main/java/org/apache/camel/reactive/vertx/VertXReactiveExecutor.java b/core/camel-reactive-executor-vertx/src/main/java/org/apache/camel/reactive/vertx/VertXReactiveExecutor.java
index 298875c..47bd7b4 100644
--- a/core/camel-reactive-executor-vertx/src/main/java/org/apache/camel/reactive/vertx/VertXReactiveExecutor.java
+++ b/core/camel-reactive-executor-vertx/src/main/java/org/apache/camel/reactive/vertx/VertXReactiveExecutor.java
@@ -18,6 +18,7 @@ package org.apache.camel.reactive.vertx;
import io.vertx.core.Vertx;
import org.apache.camel.StaticService;
+import org.apache.camel.meta.Experimental;
import org.apache.camel.spi.ReactiveExecutor;
import org.apache.camel.support.service.ServiceSupport;
import org.slf4j.Logger;
@@ -25,7 +26,10 @@ import org.slf4j.LoggerFactory;
/**
* A VertX based {@link ReactiveExecutor} that uses Vert X event loop.
+ * <p/>
+ * NOTE: This is an experimental implementation (use with care)
*/
+@Experimental
public class VertXReactiveExecutor extends ServiceSupport implements ReactiveExecutor, StaticService {
private static final Logger LOG = LoggerFactory.getLogger(VertXReactiveExecutor.class);
diff --git a/core/camel-reactive-executor-vertx/src/test/java/org/apache/camel/reactive/SimpleMockTest.java b/core/camel-reactive-executor-vertx/src/test/java/org/apache/camel/reactive/SimpleMockTest.java
index 3383e73..0fb845f 100644
--- a/core/camel-reactive-executor-vertx/src/test/java/org/apache/camel/reactive/SimpleMockTest.java
+++ b/core/camel-reactive-executor-vertx/src/test/java/org/apache/camel/reactive/SimpleMockTest.java
@@ -27,7 +27,6 @@ public class SimpleMockTest extends CamelTestSupport {
@Override
protected CamelContext createCamelContext() throws Exception {
- // TODO: should detect from classpath
CamelContext context = super.createCamelContext();
context.setReactiveExecutor(new VertXReactiveExecutor());
return context;
diff --git a/examples/camel-example-main/pom.xml b/examples/camel-example-main/pom.xml
index 43d1ee8..d33e285 100644
--- a/examples/camel-example-main/pom.xml
+++ b/examples/camel-example-main/pom.xml
@@ -51,6 +51,10 @@
<groupId>org.apache.camel</groupId>
<artifactId>camel-quartz2</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-reactive-executor-vertx</artifactId>
+ </dependency>
<!-- logging -->
<dependency>
diff --git a/parent/pom.xml b/parent/pom.xml
index 87a6f35..d6a24f3 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -859,6 +859,11 @@
<artifactId>camel-main</artifactId>
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-reactive-executor-vertx</artifactId>
+ <version>${project.version}</version>
+ </dependency>
<!-- NOTE: auto-generated list of components when building camel catalog -->
<!-- camel components: START -->