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 <angusyo...@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