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 bf658773944fb3402320b7355eb189b274e8a0ec Author: Claus Ibsen <[email protected]> AuthorDate: Wed Mar 3 08:37:21 2021 +0100 CAMEL-16286: camel-core - Calling doBuild on child services --- .../camel/impl/engine/AbstractCamelContext.java | 4 +-- .../ManagedNamePatternIncludeHostNameTest.java | 3 ++- .../org/apache/camel/support/DefaultConsumer.java | 4 +-- .../camel/support/SynchronousDelegateProducer.java | 31 ++++++++++++++++++---- 4 files changed, 32 insertions(+), 10 deletions(-) diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java index e8cf42c..eab4f12 100644 --- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java +++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java @@ -668,7 +668,7 @@ public abstract class AbstractCamelContext extends BaseService if (component != null) { component.setCamelContext(getCamelContextReference()); - component.build(); + ServiceHelper.buildService(component); postInitComponent(name, component); } } catch (Exception e) { @@ -1737,7 +1737,7 @@ public abstract class AbstractCamelContext extends BaseService Service service = (Service) language; // init service first CamelContextAware.trySetCamelContext(service, camelContext); - service.init(); + ServiceHelper.initService(service); startService(service); } catch (Exception e) { throw RuntimeCamelException.wrapRuntimeCamelException(e); diff --git a/core/camel-management/src/test/java/org/apache/camel/management/ManagedNamePatternIncludeHostNameTest.java b/core/camel-management/src/test/java/org/apache/camel/management/ManagedNamePatternIncludeHostNameTest.java index f9135eb..4236487 100644 --- a/core/camel-management/src/test/java/org/apache/camel/management/ManagedNamePatternIncludeHostNameTest.java +++ b/core/camel-management/src/test/java/org/apache/camel/management/ManagedNamePatternIncludeHostNameTest.java @@ -21,6 +21,7 @@ import javax.management.ObjectName; import org.apache.camel.CamelContext; import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.support.service.ServiceHelper; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -30,7 +31,7 @@ public class ManagedNamePatternIncludeHostNameTest extends ManagementTestSupport @Override protected CamelContext createCamelContext() throws Exception { CamelContext context = super.createCamelContext(); - context.getManagementStrategy().init(); + ServiceHelper.initService(context.getManagementStrategy()); DefaultManagementObjectNameStrategy naming = (DefaultManagementObjectNameStrategy) context.getManagementStrategy().getManagementObjectNameStrategy(); naming.setHostName("localhost"); diff --git a/core/camel-support/src/main/java/org/apache/camel/support/DefaultConsumer.java b/core/camel-support/src/main/java/org/apache/camel/support/DefaultConsumer.java index 0d89803..67f838d 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/DefaultConsumer.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/DefaultConsumer.java @@ -172,8 +172,8 @@ public class DefaultConsumer extends ServiceSupport implements Consumer, RouteAw @Override protected void doBuild() throws Exception { - super.doBuild(); - exchangeFactory.build(); + LOG.debug("Build consumer: {}", this); + ServiceHelper.buildService(exchangeFactory, processor); } @Override diff --git a/core/camel-support/src/main/java/org/apache/camel/support/SynchronousDelegateProducer.java b/core/camel-support/src/main/java/org/apache/camel/support/SynchronousDelegateProducer.java index 73aa082..bcd52d4 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/SynchronousDelegateProducer.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/SynchronousDelegateProducer.java @@ -20,6 +20,7 @@ import org.apache.camel.Endpoint; import org.apache.camel.Exchange; import org.apache.camel.Producer; import org.apache.camel.support.service.ServiceHelper; +import org.apache.camel.support.service.ServiceSupport; /** * To process the delegated producer in synchronous mode. @@ -29,7 +30,7 @@ import org.apache.camel.support.service.ServiceHelper; * This delegate allows the component developers easily to support their existing asynchronous producer to behave * synchronously by wrapping their producer in this synchronous delegate. */ -public class SynchronousDelegateProducer implements Producer { +public class SynchronousDelegateProducer extends ServiceSupport implements Producer { private final Producer producer; @@ -48,21 +49,41 @@ public class SynchronousDelegateProducer implements Producer { } @Override - public void init() { - producer.init(); + protected void doBuild() throws Exception { + ServiceHelper.buildService(producer); } @Override - public void start() { + protected void doInit() throws Exception { + ServiceHelper.initService(producer); + } + + @Override + protected void doStart() throws Exception { ServiceHelper.startService(producer); } @Override - public void stop() { + protected void doStop() throws Exception { ServiceHelper.stopService(producer); } @Override + protected void doSuspend() throws Exception { + ServiceHelper.suspendService(producer); + } + + @Override + protected void doResume() throws Exception { + ServiceHelper.resumeService(producer); + } + + @Override + protected void doShutdown() throws Exception { + ServiceHelper.stopAndShutdownService(producer); + } + + @Override public boolean isSingleton() { return producer.isSingleton(); }
