This is an automated email from the ASF dual-hosted git repository. orpiske pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
commit 5053b1736220f720df774145c8dfcdaa107a65ce Author: Otavio Rodolfo Piske <angusyo...@gmail.com> AuthorDate: Mon Apr 3 15:29:12 2023 +0200 CAMEL-15105: move ExchangeFactoryManager ownership to the context extension --- .../org/apache/camel/impl/engine/AbstractCamelContext.java | 2 -- .../camel/impl/engine/DefaultCamelContextExtension.java | 11 ++++++----- 2 files changed, 6 insertions(+), 7 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 b343ddd8161..33b47e4dba8 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 @@ -206,7 +206,6 @@ public abstract class AbstractCamelContext extends BaseService final RouteController internalRouteController = new InternalRouteController(this); volatile DeferServiceFactory deferServiceFactory; volatile AnnotationBasedProcessorFactory annotationBasedProcessorFactory; - volatile ExchangeFactoryManager exchangeFactoryManager; volatile ReactiveExecutor reactiveExecutor; volatile Registry registry; volatile ManagementStrategy managementStrategy; @@ -3286,7 +3285,6 @@ public abstract class AbstractCamelContext extends BaseService typeConverterRegistry = null; typeConverter = null; reactiveExecutor = null; - exchangeFactoryManager = null; registry = null; } diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelContextExtension.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelContextExtension.java index 49bec33d3d5..c9e023ef6ac 100644 --- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelContextExtension.java +++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelContextExtension.java @@ -81,6 +81,7 @@ class DefaultCamelContextExtension implements ExtendedCamelContext { private final PluginManager pluginManager = new DefaultContextPluginManager(); private volatile String description; private volatile ExchangeFactory exchangeFactory; + private volatile ExchangeFactoryManager exchangeFactoryManager; private volatile ProcessorExchangeFactory processorExchangeFactory; @Deprecated private ErrorHandlerFactory errorHandlerFactory; @@ -434,19 +435,19 @@ class DefaultCamelContextExtension implements ExtendedCamelContext { @Override public ExchangeFactoryManager getExchangeFactoryManager() { - if (camelContext.exchangeFactoryManager == null) { - synchronized (camelContext.lock) { - if (camelContext.exchangeFactoryManager == null) { + if (exchangeFactoryManager == null) { + synchronized (lock) { + if (exchangeFactoryManager == null) { setExchangeFactoryManager(camelContext.createExchangeFactoryManager()); } } } - return camelContext.exchangeFactoryManager; + return exchangeFactoryManager; } @Override public void setExchangeFactoryManager(ExchangeFactoryManager exchangeFactoryManager) { - camelContext.exchangeFactoryManager = camelContext.getInternalServiceManager().addService(exchangeFactoryManager); + this.exchangeFactoryManager = camelContext.getInternalServiceManager().addService(exchangeFactoryManager); } @Override