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 6d39724f34f68da07ad4a705e45a189e3f32aeff
Author: Claus Ibsen <[email protected]>
AuthorDate: Fri Jan 22 16:57:23 2021 +0100

    CAMEL-15844: Camel components creating consumer should not do init/start 
logic in their constructors.
---
 .../camel/component/ehcache/EhcacheConsumer.java   | 24 +++++++++++++---------
 .../guava/eventbus/GuavaEventBusEndpoint.java      |  4 ++--
 2 files changed, 16 insertions(+), 12 deletions(-)

diff --git 
a/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheConsumer.java
 
b/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheConsumer.java
index b7551c5..7bf5f70 100644
--- 
a/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheConsumer.java
+++ 
b/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheConsumer.java
@@ -26,15 +26,24 @@ import org.ehcache.event.CacheEventListener;
 
 public class EhcacheConsumer extends DefaultConsumer implements 
CacheEventListener<Object, Object> {
     private final EhcacheConfiguration configuration;
-    private final EhcacheManager manager;
-    private final Cache cache;
+    private final String cacheName;
+    private Cache cache;
 
     public EhcacheConsumer(EhcacheEndpoint endpoint, String cacheName, 
EhcacheConfiguration configuration,
                            Processor processor) throws Exception {
         super(endpoint, processor);
-
         this.configuration = configuration;
-        this.manager = endpoint.getManager();
+        this.cacheName = cacheName;
+    }
+
+    @Override
+    public EhcacheEndpoint getEndpoint() {
+        return (EhcacheEndpoint) super.getEndpoint();
+    }
+
+    @Override
+    protected void doStart() throws Exception {
+        super.doStart();
 
         Class<?> kt = null;
         if (configuration.getKeyType() != null) {
@@ -44,12 +53,7 @@ public class EhcacheConsumer extends DefaultConsumer 
implements CacheEventListen
         if (configuration.getValueType() != null) {
             vt = 
getEndpoint().getCamelContext().getClassResolver().resolveClass(configuration.getValueType());
         }
-        this.cache = manager.getCache(cacheName, kt, vt);
-    }
-
-    @Override
-    protected void doStart() throws Exception {
-        super.doStart();
+        this.cache = getEndpoint().getManager().getCache(cacheName, kt, vt);
 
         this.cache.getRuntimeConfiguration().registerCacheEventListener(
                 this,
diff --git 
a/components/camel-guava-eventbus/src/main/java/org/apache/camel/component/guava/eventbus/GuavaEventBusEndpoint.java
 
b/components/camel-guava-eventbus/src/main/java/org/apache/camel/component/guava/eventbus/GuavaEventBusEndpoint.java
index f8b0619..d246eb6 100644
--- 
a/components/camel-guava-eventbus/src/main/java/org/apache/camel/component/guava/eventbus/GuavaEventBusEndpoint.java
+++ 
b/components/camel-guava-eventbus/src/main/java/org/apache/camel/component/guava/eventbus/GuavaEventBusEndpoint.java
@@ -125,8 +125,8 @@ public class GuavaEventBusEndpoint extends DefaultEndpoint 
implements MultipleCo
     }
 
     @Override
-    protected void doStart() throws Exception {
-        super.doStart();
+    protected void doInit() throws Exception {
+        super.doInit();
 
         if (eventBusRef != null && eventBus == null) {
             eventBus = CamelContextHelper.mandatoryLookup(getCamelContext(), 
eventBusRef, EventBus.class);

Reply via email to