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 -->