You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by or...@apache.org on 2023/04/03 14:54:14 UTC

[camel] 01/03: CAMEL-15105: move ExchangeFactory ownership to the context extension

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 f20e20b0ec66fb14a89019f0f8025e668a2ba4f7
Author: Otavio Rodolfo Piske <an...@gmail.com>
AuthorDate: Mon Apr 3 14:50:15 2023 +0200

    CAMEL-15105: move ExchangeFactory ownership to the context extension
---
 .../org/apache/camel/impl/engine/AbstractCamelContext.java    | 10 ----------
 .../camel/impl/engine/DefaultCamelContextExtension.java       | 11 ++++++-----
 2 files changed, 6 insertions(+), 15 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 2799a4eb83a..d3c4ff7523e 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
@@ -207,7 +207,6 @@ public abstract class AbstractCamelContext extends BaseService
     volatile DeferServiceFactory deferServiceFactory;
     volatile AnnotationBasedProcessorFactory annotationBasedProcessorFactory;
     volatile ExchangeFactoryManager exchangeFactoryManager;
-    volatile ExchangeFactory exchangeFactory;
     volatile ProcessorExchangeFactory processorExchangeFactory;
     volatile ReactiveExecutor reactiveExecutor;
     volatile Registry registry;
@@ -3288,7 +3287,6 @@ public abstract class AbstractCamelContext extends BaseService
         typeConverterRegistry = null;
         typeConverter = null;
         reactiveExecutor = null;
-        exchangeFactory = null;
         exchangeFactoryManager = null;
         processorExchangeFactory = null;
         registry = null;
@@ -4144,14 +4142,6 @@ public abstract class AbstractCamelContext extends BaseService
         return camelContextExtension.getDescription();
     }
 
-    public ProcessorExchangeFactory getProcessorExchangeFactory() {
-        return camelContextExtension.getProcessorExchangeFactory();
-    }
-
-    public void setProcessorExchangeFactory(ProcessorExchangeFactory processorExchangeFactory) {
-        camelContextExtension.setProcessorExchangeFactory(processorExchangeFactory);
-    }
-
     public FactoryFinder getBootstrapFactoryFinder() {
         return camelContextExtension.getBootstrapFactoryFinder();
     }
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 4d2dad49bcc..8212b1e7f94 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
@@ -80,6 +80,7 @@ class DefaultCamelContextExtension implements ExtendedCamelContext {
     private final Set<LogListener> logListeners = new LinkedHashSet<>();
     private final PluginManager pluginManager = new DefaultContextPluginManager();
     private volatile String description;
+    private volatile ExchangeFactory exchangeFactory;
     @Deprecated
     private ErrorHandlerFactory errorHandlerFactory;
     private String basePackageScan;
@@ -413,21 +414,21 @@ class DefaultCamelContextExtension implements ExtendedCamelContext {
 
     @Override
     public ExchangeFactory getExchangeFactory() {
-        if (camelContext.exchangeFactory == null) {
-            synchronized (camelContext.lock) {
-                if (camelContext.exchangeFactory == null) {
+        if (exchangeFactory == null) {
+            synchronized (lock) {
+                if (exchangeFactory == null) {
                     setExchangeFactory(camelContext.createExchangeFactory());
                 }
             }
         }
-        return camelContext.exchangeFactory;
+        return exchangeFactory;
     }
 
     @Override
     public void setExchangeFactory(ExchangeFactory exchangeFactory) {
         // automatic inject camel context
         exchangeFactory.setCamelContext(camelContext);
-        camelContext.exchangeFactory = exchangeFactory;
+        this.exchangeFactory = exchangeFactory;
     }
 
     @Override