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
The following commit(s) were added to refs/heads/master by this push: new 3cae97c CAMEL-16286: camel-core - Calling doBuild on child services 3cae97c is described below commit 3cae97c1ef2dc1ce2f18be3a85884736f1a2c1bc Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Tue Mar 2 13:53:59 2021 +0100 CAMEL-16286: camel-core - Calling doBuild on child services --- .../camel/support/service/ServiceHelper.java | 29 ++++++++++++++++++++++ .../camel/impl/engine/DefaultConsumerTemplate.java | 7 +++++- .../camel/impl/engine/DefaultProducerTemplate.java | 9 +++++-- .../component/properties/PropertiesComponent.java | 5 ++++ .../impl/cloud/DefaultServiceCallProcessor.java | 17 ++++++++----- .../impl/cloud/DefaultServiceLoadBalancer.java | 6 ++--- .../camel/processor/EventNotifierProducer.java | 10 ++++++++ .../InterceptSendToEndpointProcessor.java | 14 +++++++++-- .../camel/processor/OnCompletionProcessor.java | 10 ++++++++ .../java/org/apache/camel/processor/Pipeline.java | 10 ++++++++ .../camel/processor/RecipientListProcessor.java | 16 +++++++++--- .../org/apache/camel/processor/Resequencer.java | 10 ++++++++ .../apache/camel/processor/StreamResequencer.java | 10 ++++++++ .../apache/camel/processor/UnitOfWorkProducer.java | 10 ++++++++ .../apache/camel/processor/WireTapProcessor.java | 10 ++++++++ .../org/apache/camel/processor/WrapProcessor.java | 14 ++++++++++- .../ShareUnitOfWorkAggregationStrategy.java | 10 ++++++++ .../processor/errorhandler/NoErrorHandler.java | 5 ++++ .../transformer/ProcessorTransformer.java | 10 ++++++++ .../processor/validator/ProcessorValidator.java | 10 ++++++++ .../org/apache/camel/converter/ConverterTest.java | 16 ------------ .../java/org/apache/camel/converter/JaxpTest.java | 1 - .../apache/camel/converter/StringSourceTest.java | 1 - .../support/AsyncProcessorConverterHelper.java | 10 ++++++++ .../support/DefaultScheduledPollConsumer.java | 14 ++++++++++- .../camel/support/EventDrivenPollingConsumer.java | 17 +++++++++++++ .../apache/camel/support/LazyStartProducer.java | 5 ++++ .../camel/support/ProcessorPollingConsumer.java | 10 ++++++++ .../camel/support/cache/DefaultConsumerCache.java | 5 ++++ .../camel/support/cache/DefaultProducerCache.java | 4 +++ .../support/processor/DelegateAsyncProcessor.java | 10 ++++++++ .../camel/support/processor/DelegateProcessor.java | 10 ++++++++ .../support/processor/DelegateSyncProcessor.java | 10 ++++++++ 33 files changed, 297 insertions(+), 38 deletions(-) diff --git a/core/camel-api/src/main/java/org/apache/camel/support/service/ServiceHelper.java b/core/camel-api/src/main/java/org/apache/camel/support/service/ServiceHelper.java index c8c09e7..04570c9 100644 --- a/core/camel-api/src/main/java/org/apache/camel/support/service/ServiceHelper.java +++ b/core/camel-api/src/main/java/org/apache/camel/support/service/ServiceHelper.java @@ -46,6 +46,35 @@ public final class ServiceHelper { } /** + * Builds the given {@code value} if it's a {@link Service} or a collection of it. + * <p/> + * Calling this method has no effect if {@code value} is {@code null}. + */ + public static void buildService(Object value) { + if (value instanceof Service) { + ((Service) value).build(); + } else if (value instanceof Iterable) { + for (Object o : (Iterable) value) { + buildService(o); + } + } + } + + /** + * Builds each element of the given {@code services} if {@code services} itself is not {@code null}, otherwise this + * method would return immediately. + * + * @see #buildService(Object) + */ + public static void buildService(Object... services) { + if (services != null) { + for (Object o : services) { + buildService(o); + } + } + } + + /** * Initializes the given {@code value} if it's a {@link Service} or a collection of it. * <p/> * Calling this method has no effect if {@code value} is {@code null}. diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultConsumerTemplate.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultConsumerTemplate.java index 289a69f..e0abf0e 100644 --- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultConsumerTemplate.java +++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultConsumerTemplate.java @@ -272,10 +272,15 @@ public class DefaultConsumerTemplate extends ServiceSupport implements ConsumerT } @Override - protected void doInit() throws Exception { + protected void doBuild() throws Exception { if (consumerCache == null) { consumerCache = new DefaultConsumerCache(this, camelContext, maximumCacheSize); } + ServiceHelper.buildService(consumerCache); + } + + @Override + protected void doInit() throws Exception { ServiceHelper.initService(consumerCache); } diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java index 534ea0d..9fbf9d2 100644 --- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java +++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultProducerTemplate.java @@ -829,13 +829,18 @@ public class DefaultProducerTemplate extends ServiceSupport implements ProducerT } @Override + protected void doBuild() throws Exception { + producerCache = new DefaultProducerCache(this, camelContext, maximumCacheSize); + producerCache.setEventNotifierEnabled(isEventNotifierEnabled()); + ServiceHelper.buildService(producerCache); + } + + @Override protected void doInit() throws Exception { // need to lookup default endpoint as it may have been intercepted if (defaultEndpoint != null) { defaultEndpoint = camelContext.getEndpoint(defaultEndpoint.getEndpointUri()); } - producerCache = new DefaultProducerCache(this, camelContext, maximumCacheSize); - producerCache.setEventNotifierEnabled(isEventNotifierEnabled()); ServiceHelper.initService(producerCache); } diff --git a/core/camel-base/src/main/java/org/apache/camel/component/properties/PropertiesComponent.java b/core/camel-base/src/main/java/org/apache/camel/component/properties/PropertiesComponent.java index 91d5d44..52c5e29 100644 --- a/core/camel-base/src/main/java/org/apache/camel/component/properties/PropertiesComponent.java +++ b/core/camel-base/src/main/java/org/apache/camel/component/properties/PropertiesComponent.java @@ -607,6 +607,11 @@ public class PropertiesComponent extends ServiceSupport } @Override + protected void doBuild() throws Exception { + ServiceHelper.buildService(sources); + } + + @Override protected void doStart() throws Exception { ServiceHelper.startService(sources); } diff --git a/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/DefaultServiceCallProcessor.java b/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/DefaultServiceCallProcessor.java index 88dae7a..637d5b3 100644 --- a/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/DefaultServiceCallProcessor.java +++ b/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/DefaultServiceCallProcessor.java @@ -31,6 +31,7 @@ import org.apache.camel.cloud.ServiceCallConstants; import org.apache.camel.cloud.ServiceDefinition; import org.apache.camel.cloud.ServiceLoadBalancer; import org.apache.camel.spi.Language; +import org.apache.camel.spi.ProcessorFactory; import org.apache.camel.support.AsyncProcessorConverterHelper; import org.apache.camel.support.AsyncProcessorSupport; import org.apache.camel.support.service.ServiceHelper; @@ -51,6 +52,7 @@ public class DefaultServiceCallProcessor extends AsyncProcessorSupport { private final CamelContext camelContext; private final ServiceLoadBalancer loadBalancer; private final Expression expression; + private ProcessorFactory processorFactory; private AsyncProcessor processor; private Expression serviceNameExp; @@ -127,13 +129,18 @@ public class DefaultServiceCallProcessor extends AsyncProcessorSupport { // ************************************* @Override + protected void doBuild() throws Exception { + ObjectHelper.notNull(camelContext, "camel context"); + processorFactory = camelContext.adapt(ExtendedCamelContext.class).getProcessorFactory(); + } + + @Override protected void doInit() throws Exception { StringHelper.notEmpty(name, "name", "service name"); - ObjectHelper.notNull(camelContext, "camel context"); ObjectHelper.notNull(expression, "expression"); ObjectHelper.notNull(loadBalancer, "load balancer"); - Processor send = camelContext.adapt(ExtendedCamelContext.class).getProcessorFactory().createProcessor(camelContext, + Processor send = processorFactory.createProcessor(camelContext, "SendDynamicProcessor", new Object[] { uri, expression, exchangePattern }); processor = AsyncProcessorConverterHelper.convert(send); @@ -148,15 +155,13 @@ public class DefaultServiceCallProcessor extends AsyncProcessorSupport { @Override protected void doStart() throws Exception { // Start services if needed - ServiceHelper.startService(processor); - ServiceHelper.startService(loadBalancer); + ServiceHelper.startService(processor, loadBalancer); } @Override protected void doStop() throws Exception { // Stop services if needed - ServiceHelper.stopService(loadBalancer); - ServiceHelper.stopService(processor); + ServiceHelper.stopService(loadBalancer, processor); } // ************************************* diff --git a/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/DefaultServiceLoadBalancer.java b/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/DefaultServiceLoadBalancer.java index 1a3739a..5af196d 100644 --- a/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/DefaultServiceLoadBalancer.java +++ b/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/DefaultServiceLoadBalancer.java @@ -111,15 +111,13 @@ public class DefaultServiceLoadBalancer serviceFilter.getClass(), serviceChooser.getClass()); - ServiceHelper.startService(serviceChooser); - ServiceHelper.startService(serviceDiscovery); + ServiceHelper.startService(serviceChooser, serviceDiscovery); } @Override protected void doStop() throws Exception { // Stop services if needed - ServiceHelper.stopService(serviceDiscovery); - ServiceHelper.stopService(serviceChooser); + ServiceHelper.stopService(serviceDiscovery, serviceChooser); } // ************************************* diff --git a/core/camel-core-processor/src/main/java/org/apache/camel/processor/EventNotifierProducer.java b/core/camel-core-processor/src/main/java/org/apache/camel/processor/EventNotifierProducer.java index 0bb3973..b82a40e 100644 --- a/core/camel-core-processor/src/main/java/org/apache/camel/processor/EventNotifierProducer.java +++ b/core/camel-core-processor/src/main/java/org/apache/camel/processor/EventNotifierProducer.java @@ -100,6 +100,16 @@ public final class EventNotifierProducer extends DefaultAsyncProducer { } @Override + protected void doBuild() throws Exception { + ServiceHelper.buildService(producer); + } + + @Override + protected void doInit() throws Exception { + ServiceHelper.initService(producer); + } + + @Override protected void doStart() throws Exception { ServiceHelper.startService(producer); } diff --git a/core/camel-core-processor/src/main/java/org/apache/camel/processor/InterceptSendToEndpointProcessor.java b/core/camel-core-processor/src/main/java/org/apache/camel/processor/InterceptSendToEndpointProcessor.java index 6a8187b..859a48d 100644 --- a/core/camel-core-processor/src/main/java/org/apache/camel/processor/InterceptSendToEndpointProcessor.java +++ b/core/camel-core-processor/src/main/java/org/apache/camel/processor/InterceptSendToEndpointProcessor.java @@ -139,14 +139,24 @@ public class InterceptSendToEndpointProcessor extends DefaultAsyncProducer { } @Override - public void start() { + protected void doBuild() throws Exception { + ServiceHelper.buildService(producer); + } + + @Override + protected void doInit() throws Exception { + ServiceHelper.initService(producer); + } + + @Override + protected void doStart() throws Exception { ServiceHelper.startService(endpoint.getBefore(), endpoint.getAfter()); // here we also need to start the producer ServiceHelper.startService(producer); } @Override - public void stop() { + public void doStop() { // do not stop before/after as it should only be stopped when the interceptor stops // we should stop the producer here ServiceHelper.stopService(producer); diff --git a/core/camel-core-processor/src/main/java/org/apache/camel/processor/OnCompletionProcessor.java b/core/camel-core-processor/src/main/java/org/apache/camel/processor/OnCompletionProcessor.java index 6101e8c..9e9d6ef 100644 --- a/core/camel-core-processor/src/main/java/org/apache/camel/processor/OnCompletionProcessor.java +++ b/core/camel-core-processor/src/main/java/org/apache/camel/processor/OnCompletionProcessor.java @@ -82,6 +82,16 @@ public class OnCompletionProcessor extends AsyncProcessorSupport implements Trac } @Override + protected void doBuild() throws Exception { + ServiceHelper.buildService(processor); + } + + @Override + protected void doInit() throws Exception { + ServiceHelper.initService(processor); + } + + @Override protected void doStart() throws Exception { ServiceHelper.startService(processor); } diff --git a/core/camel-core-processor/src/main/java/org/apache/camel/processor/Pipeline.java b/core/camel-core-processor/src/main/java/org/apache/camel/processor/Pipeline.java index 7901bea..3bbbf14 100644 --- a/core/camel-core-processor/src/main/java/org/apache/camel/processor/Pipeline.java +++ b/core/camel-core-processor/src/main/java/org/apache/camel/processor/Pipeline.java @@ -153,6 +153,16 @@ public class Pipeline extends AsyncProcessorSupport implements Navigate<Processo } @Override + protected void doBuild() throws Exception { + ServiceHelper.buildService(processors); + } + + @Override + protected void doInit() throws Exception { + ServiceHelper.initService(processors); + } + + @Override protected void doStart() throws Exception { ServiceHelper.startService(processors); } diff --git a/core/camel-core-processor/src/main/java/org/apache/camel/processor/RecipientListProcessor.java b/core/camel-core-processor/src/main/java/org/apache/camel/processor/RecipientListProcessor.java index 2f457ca..deade49 100644 --- a/core/camel-core-processor/src/main/java/org/apache/camel/processor/RecipientListProcessor.java +++ b/core/camel-core-processor/src/main/java/org/apache/camel/processor/RecipientListProcessor.java @@ -39,7 +39,6 @@ import org.apache.camel.support.EndpointHelper; import org.apache.camel.support.ExchangeHelper; import org.apache.camel.support.MessageHelper; import org.apache.camel.support.service.ServiceHelper; -import org.apache.camel.util.ObjectHelper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -58,7 +57,7 @@ public class RecipientListProcessor extends MulticastProcessor { private static final Logger LOG = LoggerFactory.getLogger(RecipientListProcessor.class); private final Iterator<?> iter; private boolean ignoreInvalidEndpoints; - private ProducerCache producerCache; + private final ProducerCache producerCache; private int cacheSize; /** @@ -331,9 +330,20 @@ public class RecipientListProcessor extends MulticastProcessor { } @Override + protected void doBuild() throws Exception { + super.doBuild(); + ServiceHelper.buildService(producerCache); + } + + @Override + protected void doInit() throws Exception { + super.doInit(); + ServiceHelper.initService(producerCache); + } + + @Override protected void doStart() throws Exception { super.doStart(); - ObjectHelper.notNull(producerCache, "producerCache", this); ServiceHelper.startService(producerCache); } diff --git a/core/camel-core-processor/src/main/java/org/apache/camel/processor/Resequencer.java b/core/camel-core-processor/src/main/java/org/apache/camel/processor/Resequencer.java index 2dc1eb6..711fd8c 100644 --- a/core/camel-core-processor/src/main/java/org/apache/camel/processor/Resequencer.java +++ b/core/camel-core-processor/src/main/java/org/apache/camel/processor/Resequencer.java @@ -325,6 +325,16 @@ public class Resequencer extends AsyncProcessorSupport implements Navigate<Proce } @Override + protected void doBuild() throws Exception { + ServiceHelper.buildService(processor); + } + + @Override + protected void doInit() throws Exception { + ServiceHelper.initService(processor); + } + + @Override protected void doStart() throws Exception { ServiceHelper.startService(processor); sender.start(); diff --git a/core/camel-core-processor/src/main/java/org/apache/camel/processor/StreamResequencer.java b/core/camel-core-processor/src/main/java/org/apache/camel/processor/StreamResequencer.java index a249ccc..2beada7 100644 --- a/core/camel-core-processor/src/main/java/org/apache/camel/processor/StreamResequencer.java +++ b/core/camel-core-processor/src/main/java/org/apache/camel/processor/StreamResequencer.java @@ -201,6 +201,16 @@ public class StreamResequencer extends AsyncProcessorSupport } @Override + protected void doBuild() throws Exception { + ServiceHelper.buildService(processor); + } + + @Override + protected void doInit() throws Exception { + ServiceHelper.initService(processor); + } + + @Override protected void doStart() throws Exception { ServiceHelper.startService(processor); delivery = new Delivery(); diff --git a/core/camel-core-processor/src/main/java/org/apache/camel/processor/UnitOfWorkProducer.java b/core/camel-core-processor/src/main/java/org/apache/camel/processor/UnitOfWorkProducer.java index 46e01e3..1ed7c53 100644 --- a/core/camel-core-processor/src/main/java/org/apache/camel/processor/UnitOfWorkProducer.java +++ b/core/camel-core-processor/src/main/java/org/apache/camel/processor/UnitOfWorkProducer.java @@ -57,6 +57,16 @@ public final class UnitOfWorkProducer extends DefaultAsyncProducer { } @Override + protected void doBuild() throws Exception { + ServiceHelper.buildService(processor); + } + + @Override + protected void doInit() throws Exception { + ServiceHelper.initService(processor); + } + + @Override protected void doStart() throws Exception { super.doStart(); ServiceHelper.startService(processor); diff --git a/core/camel-core-processor/src/main/java/org/apache/camel/processor/WireTapProcessor.java b/core/camel-core-processor/src/main/java/org/apache/camel/processor/WireTapProcessor.java index 9ca24e6..7c27bce 100644 --- a/core/camel-core-processor/src/main/java/org/apache/camel/processor/WireTapProcessor.java +++ b/core/camel-core-processor/src/main/java/org/apache/camel/processor/WireTapProcessor.java @@ -316,6 +316,16 @@ public class WireTapProcessor extends AsyncProcessorSupport } @Override + protected void doBuild() throws Exception { + ServiceHelper.buildService(processor); + } + + @Override + protected void doInit() throws Exception { + ServiceHelper.initService(processor); + } + + @Override protected void doStart() throws Exception { ServiceHelper.startService(processor); } diff --git a/core/camel-core-processor/src/main/java/org/apache/camel/processor/WrapProcessor.java b/core/camel-core-processor/src/main/java/org/apache/camel/processor/WrapProcessor.java index 2658162..b823277 100644 --- a/core/camel-core-processor/src/main/java/org/apache/camel/processor/WrapProcessor.java +++ b/core/camel-core-processor/src/main/java/org/apache/camel/processor/WrapProcessor.java @@ -53,9 +53,21 @@ public class WrapProcessor extends DelegateAsyncProcessor implements WrapAwarePr } @Override + protected void doBuild() throws Exception { + super.doBuild(); + ServiceHelper.buildService(wrapped); + } + + @Override + protected void doInit() throws Exception { + super.doInit(); + ServiceHelper.initService(wrapped); + } + + @Override protected void doStart() throws Exception { - ServiceHelper.startService(wrapped); super.doStart(); + ServiceHelper.startService(wrapped); } @Override diff --git a/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/ShareUnitOfWorkAggregationStrategy.java b/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/ShareUnitOfWorkAggregationStrategy.java index 0c6dffb..1115ab7 100644 --- a/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/ShareUnitOfWorkAggregationStrategy.java +++ b/core/camel-core-processor/src/main/java/org/apache/camel/processor/aggregate/ShareUnitOfWorkAggregationStrategy.java @@ -136,6 +136,16 @@ public final class ShareUnitOfWorkAggregationStrategy extends ServiceSupport imp } @Override + protected void doBuild() throws Exception { + ServiceHelper.buildService(strategy); + } + + @Override + protected void doInit() throws Exception { + ServiceHelper.initService(strategy); + } + + @Override protected void doStart() throws Exception { ServiceHelper.startService(strategy); } diff --git a/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/NoErrorHandler.java b/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/NoErrorHandler.java index 57c85ed..3a74e89 100644 --- a/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/NoErrorHandler.java +++ b/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/NoErrorHandler.java @@ -85,6 +85,11 @@ public class NoErrorHandler extends ErrorHandlerSupport implements AsyncProcesso } @Override + protected void doBuild() throws Exception { + ServiceHelper.buildService(output); + } + + @Override protected void doInit() throws Exception { ServiceHelper.initService(output); } diff --git a/core/camel-core-processor/src/main/java/org/apache/camel/processor/transformer/ProcessorTransformer.java b/core/camel-core-processor/src/main/java/org/apache/camel/processor/transformer/ProcessorTransformer.java index 1301ece..3396ec6 100644 --- a/core/camel-core-processor/src/main/java/org/apache/camel/processor/transformer/ProcessorTransformer.java +++ b/core/camel-core-processor/src/main/java/org/apache/camel/processor/transformer/ProcessorTransformer.java @@ -108,6 +108,16 @@ public class ProcessorTransformer extends Transformer { } @Override + protected void doBuild() throws Exception { + ServiceHelper.buildService(processor); + } + + @Override + protected void doInit() throws Exception { + ServiceHelper.initService(processor); + } + + @Override protected void doStart() throws Exception { ObjectHelper.notNull(processor, "processor", this); ServiceHelper.startService(this.processor); diff --git a/core/camel-core-processor/src/main/java/org/apache/camel/processor/validator/ProcessorValidator.java b/core/camel-core-processor/src/main/java/org/apache/camel/processor/validator/ProcessorValidator.java index 3ef00bf..88f52e3 100644 --- a/core/camel-core-processor/src/main/java/org/apache/camel/processor/validator/ProcessorValidator.java +++ b/core/camel-core-processor/src/main/java/org/apache/camel/processor/validator/ProcessorValidator.java @@ -102,6 +102,16 @@ public class ProcessorValidator extends Validator { } @Override + protected void doBuild() throws Exception { + ServiceHelper.buildService(processor); + } + + @Override + protected void doInit() throws Exception { + ServiceHelper.initService(processor); + } + + @Override protected void doStart() throws Exception { ObjectHelper.notNull(processor, "processor", this); ServiceHelper.startService(this.processor); diff --git a/core/camel-core/src/test/java/org/apache/camel/converter/ConverterTest.java b/core/camel-core/src/test/java/org/apache/camel/converter/ConverterTest.java index 2ba1c17..cbee540 100644 --- a/core/camel-core/src/test/java/org/apache/camel/converter/ConverterTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/converter/ConverterTest.java @@ -16,8 +16,6 @@ */ package org.apache.camel.converter; -import java.beans.PropertyEditorManager; -import java.beans.PropertyEditorSupport; import java.io.File; import java.io.InputStream; import java.net.URL; @@ -54,22 +52,8 @@ public class ConverterTest extends TestSupport { protected TypeConverter converter = new DefaultTypeConverter( new DefaultPackageScanClassResolver(), new ReflectionInjector(), true); - public static class IntegerPropertyEditor extends PropertyEditorSupport { - @Override - public void setAsText(String text) throws IllegalArgumentException { - setValue(Integer.valueOf(text)); - } - - @Override - public String getAsText() { - Integer value = (Integer) getValue(); - return value != null ? value.toString() : ""; - } - } - @BeforeEach public void setUp() throws Exception { - PropertyEditorManager.registerEditor(Integer.class, IntegerPropertyEditor.class); ServiceHelper.startService(converter); } diff --git a/core/camel-core/src/test/java/org/apache/camel/converter/JaxpTest.java b/core/camel-core/src/test/java/org/apache/camel/converter/JaxpTest.java index 70cd282..83b85a3 100644 --- a/core/camel-core/src/test/java/org/apache/camel/converter/JaxpTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/converter/JaxpTest.java @@ -45,7 +45,6 @@ public class JaxpTest { @BeforeEach public void setUp() throws Exception { - ServiceHelper.startService(converter); } diff --git a/core/camel-core/src/test/java/org/apache/camel/converter/StringSourceTest.java b/core/camel-core/src/test/java/org/apache/camel/converter/StringSourceTest.java index 37a1d61..bf26186 100644 --- a/core/camel-core/src/test/java/org/apache/camel/converter/StringSourceTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/converter/StringSourceTest.java @@ -40,7 +40,6 @@ public class StringSourceTest { @BeforeEach public void setUp() throws Exception { - ServiceHelper.startService(converter); } diff --git a/core/camel-support/src/main/java/org/apache/camel/support/AsyncProcessorConverterHelper.java b/core/camel-support/src/main/java/org/apache/camel/support/AsyncProcessorConverterHelper.java index 03b90fa..299c618 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/AsyncProcessorConverterHelper.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/AsyncProcessorConverterHelper.java @@ -103,6 +103,16 @@ public final class AsyncProcessorConverterHelper { } @Override + public void build() { + ServiceHelper.buildService(processor); + } + + @Override + public void init() { + ServiceHelper.initService(processor); + } + + @Override public void start() { ServiceHelper.startService(processor); } diff --git a/core/camel-support/src/main/java/org/apache/camel/support/DefaultScheduledPollConsumer.java b/core/camel-support/src/main/java/org/apache/camel/support/DefaultScheduledPollConsumer.java index 2551bcd..87a9ed1 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/DefaultScheduledPollConsumer.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/DefaultScheduledPollConsumer.java @@ -92,8 +92,20 @@ public class DefaultScheduledPollConsumer extends ScheduledPollConsumer { } @Override - protected void doStart() throws Exception { + protected void doBuild() throws Exception { + super.doBuild(); pollingConsumer = getEndpoint().createPollingConsumer(); + ServiceHelper.buildService(pollingConsumer); + } + + @Override + protected void doInit() throws Exception { + super.doInit(); + ServiceHelper.initService(pollingConsumer); + } + + @Override + protected void doStart() throws Exception { ServiceHelper.startService(pollingConsumer); super.doStart(); } diff --git a/core/camel-support/src/main/java/org/apache/camel/support/EventDrivenPollingConsumer.java b/core/camel-support/src/main/java/org/apache/camel/support/EventDrivenPollingConsumer.java index 4e2e845..67dc256 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/EventDrivenPollingConsumer.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/EventDrivenPollingConsumer.java @@ -229,6 +229,23 @@ public class EventDrivenPollingConsumer extends PollingConsumerSupport implement } @Override + protected void doBuild() throws Exception { + super.doBuild(); + // lets add ourselves as a consumer + consumer = createConsumer(); + // do not call build if its our-self + if (consumer != this) { + ServiceHelper.buildService(consumer); + } + } + + @Override + protected void doInit() throws Exception { + super.doInit(); + ServiceHelper.initService(consumer); + } + + @Override protected void doStart() throws Exception { // lets add ourselves as a consumer consumer = createConsumer(); diff --git a/core/camel-support/src/main/java/org/apache/camel/support/LazyStartProducer.java b/core/camel-support/src/main/java/org/apache/camel/support/LazyStartProducer.java index bc3af67..0a94030 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/LazyStartProducer.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/LazyStartProducer.java @@ -67,6 +67,11 @@ public final class LazyStartProducer extends DefaultAsyncProducer implements Del } @Override + protected void doBuild() throws Exception { + // noop as we dont want to start the delegate but its started on the first message processed + } + + @Override protected void doInit() throws Exception { // noop as we dont want to start the delegate but its started on the first message processed } diff --git a/core/camel-support/src/main/java/org/apache/camel/support/ProcessorPollingConsumer.java b/core/camel-support/src/main/java/org/apache/camel/support/ProcessorPollingConsumer.java index 2b40158..5909d87 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/ProcessorPollingConsumer.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/ProcessorPollingConsumer.java @@ -43,6 +43,16 @@ public class ProcessorPollingConsumer extends PollingConsumerSupport implements } @Override + protected void doBuild() throws Exception { + ServiceHelper.buildService(processor); + } + + @Override + protected void doInit() throws Exception { + ServiceHelper.initService(processor); + } + + @Override protected void doStart() throws Exception { ServiceHelper.startService(processor); } diff --git a/core/camel-support/src/main/java/org/apache/camel/support/cache/DefaultConsumerCache.java b/core/camel-support/src/main/java/org/apache/camel/support/cache/DefaultConsumerCache.java index bf427a7..0326c71 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/cache/DefaultConsumerCache.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/cache/DefaultConsumerCache.java @@ -230,6 +230,11 @@ public class DefaultConsumerCache extends ServiceSupport implements ConsumerCach } @Override + protected void doBuild() throws Exception { + ServiceHelper.buildService(consumers); + } + + @Override protected void doInit() throws Exception { if (extendedStatistics) { int max = maxCacheSize == 0 ? CamelContextHelper.getMaximumCachePoolSize(camelContext) : maxCacheSize; diff --git a/core/camel-support/src/main/java/org/apache/camel/support/cache/DefaultProducerCache.java b/core/camel-support/src/main/java/org/apache/camel/support/cache/DefaultProducerCache.java index cf8a58f..7d6c40c 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/cache/DefaultProducerCache.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/cache/DefaultProducerCache.java @@ -360,7 +360,11 @@ public class DefaultProducerCache extends ServiceSupport implements ProducerCach callback.done(true); return true; } + } + @Override + protected void doBuild() throws Exception { + ServiceHelper.buildService(producers); } @Override diff --git a/core/camel-support/src/main/java/org/apache/camel/support/processor/DelegateAsyncProcessor.java b/core/camel-support/src/main/java/org/apache/camel/support/processor/DelegateAsyncProcessor.java index 434bae6..bfe494a 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/processor/DelegateAsyncProcessor.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/processor/DelegateAsyncProcessor.java @@ -75,6 +75,16 @@ public class DelegateAsyncProcessor extends AsyncProcessorSupport implements Del } @Override + protected void doBuild() throws Exception { + ServiceHelper.buildService(processor); + } + + @Override + protected void doInit() throws Exception { + ServiceHelper.initService(processor); + } + + @Override protected void doStart() throws Exception { ServiceHelper.startService(processor); } diff --git a/core/camel-support/src/main/java/org/apache/camel/support/processor/DelegateProcessor.java b/core/camel-support/src/main/java/org/apache/camel/support/processor/DelegateProcessor.java index c719f87..75afe56 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/processor/DelegateProcessor.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/processor/DelegateProcessor.java @@ -74,6 +74,16 @@ public class DelegateProcessor extends ServiceSupport } @Override + protected void doBuild() throws Exception { + ServiceHelper.buildService(processor); + } + + @Override + protected void doInit() throws Exception { + ServiceHelper.initService(processor); + } + + @Override protected void doStart() throws Exception { ServiceHelper.startService(processor); } diff --git a/core/camel-support/src/main/java/org/apache/camel/support/processor/DelegateSyncProcessor.java b/core/camel-support/src/main/java/org/apache/camel/support/processor/DelegateSyncProcessor.java index 87f3a27..ee64ef1 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/processor/DelegateSyncProcessor.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/processor/DelegateSyncProcessor.java @@ -102,6 +102,16 @@ public class DelegateSyncProcessor extends ServiceSupport } @Override + protected void doBuild() throws Exception { + ServiceHelper.buildService(processor); + } + + @Override + protected void doInit() throws Exception { + ServiceHelper.initService(processor); + } + + @Override protected void doStart() throws Exception { ServiceHelper.startService(processor); }