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

Reply via email to