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 2015/04/12 07:48:48 UTC

camel git commit: CAMEL-8617: Let camel-vertx be more resillient for errors starting vertx clustered

Repository: camel
Updated Branches:
  refs/heads/master 4d5d37330 -> 006053c0e


CAMEL-8617: Let camel-vertx be more resillient for errors starting vertx clustered


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/006053c0
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/006053c0
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/006053c0

Branch: refs/heads/master
Commit: 006053c0ef2b34a87aed17b5e0f463a1562c9192
Parents: 4d5d373
Author: Claus Ibsen <da...@apache.org>
Authored: Sun Apr 12 07:37:25 2015 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Sun Apr 12 07:37:25 2015 +0200

----------------------------------------------------------------------
 .../java/org/apache/camel/component/vertx/VertxConsumer.java | 8 ++++++--
 .../java/org/apache/camel/component/vertx/VertxEndpoint.java | 6 +++++-
 .../java/org/apache/camel/component/vertx/VertxProducer.java | 6 ++++++
 3 files changed, 17 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/006053c0/components/camel-vertx/src/main/java/org/apache/camel/component/vertx/VertxConsumer.java
----------------------------------------------------------------------
diff --git a/components/camel-vertx/src/main/java/org/apache/camel/component/vertx/VertxConsumer.java b/components/camel-vertx/src/main/java/org/apache/camel/component/vertx/VertxConsumer.java
index 46d79a9..ae5ec75 100644
--- a/components/camel-vertx/src/main/java/org/apache/camel/component/vertx/VertxConsumer.java
+++ b/components/camel-vertx/src/main/java/org/apache/camel/component/vertx/VertxConsumer.java
@@ -73,7 +73,9 @@ public class VertxConsumer extends DefaultConsumer {
             LOG.debug("Registering EventBus handler on address {}", endpoint.getAddress());
         }
 
-        endpoint.getEventBus().registerHandler(endpoint.getAddress(), handler);
+        if (endpoint.getEventBus() != null) {
+            endpoint.getEventBus().registerHandler(endpoint.getAddress(), handler);
+        }
         super.doStart();
     }
 
@@ -83,7 +85,9 @@ public class VertxConsumer extends DefaultConsumer {
         }
 
         try {
-            endpoint.getEventBus().unregisterHandler(endpoint.getAddress(), handler);
+            if (endpoint.getEventBus() != null) {
+                endpoint.getEventBus().unregisterHandler(endpoint.getAddress(), handler);
+            }
         } catch (IllegalStateException e) {
             LOG.warn("EventBus already stopped on address {}", endpoint.getAddress());
             // ignore if already stopped as vertx throws this exception if its already stopped etc.

http://git-wip-us.apache.org/repos/asf/camel/blob/006053c0/components/camel-vertx/src/main/java/org/apache/camel/component/vertx/VertxEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-vertx/src/main/java/org/apache/camel/component/vertx/VertxEndpoint.java b/components/camel-vertx/src/main/java/org/apache/camel/component/vertx/VertxEndpoint.java
index f9490a9..7f29eb5 100644
--- a/components/camel-vertx/src/main/java/org/apache/camel/component/vertx/VertxEndpoint.java
+++ b/components/camel-vertx/src/main/java/org/apache/camel/component/vertx/VertxEndpoint.java
@@ -63,7 +63,11 @@ public class VertxEndpoint extends DefaultEndpoint {
     }
 
     public EventBus getEventBus() {
-        return getVertx().eventBus();
+        if (getVertx() != null) {
+            return getVertx().eventBus();
+        } else {
+            return null;
+        }
     }
 
     public Vertx getVertx() {

http://git-wip-us.apache.org/repos/asf/camel/blob/006053c0/components/camel-vertx/src/main/java/org/apache/camel/component/vertx/VertxProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-vertx/src/main/java/org/apache/camel/component/vertx/VertxProducer.java b/components/camel-vertx/src/main/java/org/apache/camel/component/vertx/VertxProducer.java
index 7748b90..c7b9abc 100644
--- a/components/camel-vertx/src/main/java/org/apache/camel/component/vertx/VertxProducer.java
+++ b/components/camel-vertx/src/main/java/org/apache/camel/component/vertx/VertxProducer.java
@@ -45,6 +45,12 @@ public class VertxProducer extends DefaultAsyncProducer {
     @Override
     public boolean process(Exchange exchange, AsyncCallback callback) {
         EventBus eventBus = getEndpoint().getEventBus();
+        if (eventBus == null) {
+            exchange.setException(new IllegalStateException("EventBus is not started or not configured"));
+            callback.done(true);
+            return true;
+        }
+
         String address = getEndpoint().getAddress();
 
         boolean reply = ExchangeHelper.isOutCapable(exchange);