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 2021/03/03 08:08:48 UTC
[camel] 01/03: CAMEL-16286: camel-core - Calling doBuild on child
services
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 <cl...@gmail.com>
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();
}