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 eedaeb8b4bcea85e91d0d6af050b6949cf2b2c26 Author: Otavio Rodolfo Piske <angusyo...@gmail.com> AuthorDate: Mon Apr 3 14:53:17 2023 +0200 CAMEL-15105: move ProcessorExchangeFactory 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 d3c4ff7523e..b343ddd8161 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 ProcessorExchangeFactory processorExchangeFactory; volatile ReactiveExecutor reactiveExecutor; volatile Registry registry; volatile ManagementStrategy managementStrategy; @@ -3288,7 +3287,6 @@ public abstract class AbstractCamelContext extends BaseService typeConverter = null; reactiveExecutor = null; exchangeFactoryManager = null; - processorExchangeFactory = 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 8212b1e7f94..49bec33d3d5 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 ProcessorExchangeFactory processorExchangeFactory; @Deprecated private ErrorHandlerFactory errorHandlerFactory; private String basePackageScan; @@ -450,21 +451,21 @@ class DefaultCamelContextExtension implements ExtendedCamelContext { @Override public ProcessorExchangeFactory getProcessorExchangeFactory() { - if (camelContext.processorExchangeFactory == null) { - synchronized (camelContext.lock) { - if (camelContext.processorExchangeFactory == null) { + if (processorExchangeFactory == null) { + synchronized (lock) { + if (processorExchangeFactory == null) { setProcessorExchangeFactory(camelContext.createProcessorExchangeFactory()); } } } - return camelContext.processorExchangeFactory; + return processorExchangeFactory; } @Override public void setProcessorExchangeFactory(ProcessorExchangeFactory processorExchangeFactory) { // automatic inject camel context processorExchangeFactory.setCamelContext(camelContext); - camelContext.processorExchangeFactory = processorExchangeFactory; + this.processorExchangeFactory = processorExchangeFactory; } @Override