This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel.git
commit ad6ff914d690c570283e14e67df84b04dc0d8fe2 Author: Claus Ibsen <[email protected]> AuthorDate: Thu Jan 30 09:41:14 2020 +0100 CAMEL-14354: camel-core optimize --- .../org/apache/camel/impl/engine/DefaultUnitOfWork.java | 15 ++++++++------- .../camel/impl/engine/DefaultUnitOfWorkFactory.java | 7 +++++-- .../java/org/apache/camel/impl/engine/MDCUnitOfWork.java | 8 +++++--- 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultUnitOfWork.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultUnitOfWork.java index abd54b4..792a80e 100644 --- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultUnitOfWork.java +++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultUnitOfWork.java @@ -58,7 +58,7 @@ public class DefaultUnitOfWork implements UnitOfWork, Service { private final Exchange exchange; private final CamelContext context; - private final InflightRepository inflightRepository; + final InflightRepository inflightRepository; final boolean allowUseOriginalMessage; final boolean useBreadcrumb; private Logger log; @@ -69,21 +69,22 @@ public class DefaultUnitOfWork implements UnitOfWork, Service { private Set<Object> transactedBy; public DefaultUnitOfWork(Exchange exchange) { - this(exchange, exchange.getContext().isAllowUseOriginalMessage(), exchange.getContext().isUseBreadcrumb()); + this(exchange, exchange.getContext().getInflightRepository(), exchange.getContext().isAllowUseOriginalMessage(), exchange.getContext().isUseBreadcrumb()); } - protected DefaultUnitOfWork(Exchange exchange, Logger logger, boolean allowUseOriginalMessage, boolean useBreadcrumb) { - this(exchange, allowUseOriginalMessage, useBreadcrumb); + protected DefaultUnitOfWork(Exchange exchange, Logger logger, InflightRepository inflightRepository, + boolean allowUseOriginalMessage, boolean useBreadcrumb) { + this(exchange, inflightRepository, allowUseOriginalMessage, useBreadcrumb); this.log = logger; } - public DefaultUnitOfWork(Exchange exchange, boolean allowUseOriginalMessage, boolean useBreadcrumb) { + public DefaultUnitOfWork(Exchange exchange, InflightRepository inflightRepository, boolean allowUseOriginalMessage, boolean useBreadcrumb) { this.exchange = exchange; this.log = LOG; this.allowUseOriginalMessage = allowUseOriginalMessage; this.useBreadcrumb = useBreadcrumb; this.context = exchange.getContext(); - this.inflightRepository = exchange.getContext().getInflightRepository(); + this.inflightRepository = inflightRepository; if (allowUseOriginalMessage) { // special for JmsMessage as it can cause it to loose headers later. @@ -126,7 +127,7 @@ public class DefaultUnitOfWork implements UnitOfWork, Service { } UnitOfWork newInstance(Exchange exchange) { - return new DefaultUnitOfWork(exchange, allowUseOriginalMessage, useBreadcrumb); + return new DefaultUnitOfWork(exchange, inflightRepository, allowUseOriginalMessage, useBreadcrumb); } @Override diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultUnitOfWorkFactory.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultUnitOfWorkFactory.java index 8fa7d47..2bf7532 100644 --- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultUnitOfWorkFactory.java +++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultUnitOfWorkFactory.java @@ -18,6 +18,7 @@ package org.apache.camel.impl.engine; import org.apache.camel.CamelContext; import org.apache.camel.Exchange; +import org.apache.camel.spi.InflightRepository; import org.apache.camel.spi.UnitOfWork; import org.apache.camel.spi.UnitOfWorkFactory; @@ -26,6 +27,7 @@ import org.apache.camel.spi.UnitOfWorkFactory; */ public class DefaultUnitOfWorkFactory implements UnitOfWorkFactory { + private InflightRepository inflightRepository; private boolean usedMDCLogging; private String mdcLoggingKeysPattern; private boolean allowUseOriginalMessage; @@ -35,9 +37,9 @@ public class DefaultUnitOfWorkFactory implements UnitOfWorkFactory { public UnitOfWork createUnitOfWork(Exchange exchange) { UnitOfWork answer; if (usedMDCLogging) { - answer = new MDCUnitOfWork(exchange, mdcLoggingKeysPattern, allowUseOriginalMessage, useBreadcrumb); + answer = new MDCUnitOfWork(exchange, inflightRepository, mdcLoggingKeysPattern, allowUseOriginalMessage, useBreadcrumb); } else { - answer = new DefaultUnitOfWork(exchange, allowUseOriginalMessage, useBreadcrumb); + answer = new DefaultUnitOfWork(exchange, inflightRepository, allowUseOriginalMessage, useBreadcrumb); } return answer; } @@ -45,6 +47,7 @@ public class DefaultUnitOfWorkFactory implements UnitOfWorkFactory { @Override public void afterPropertiesConfigured(CamelContext camelContext) { // optimize to read configuration once + inflightRepository = camelContext.getInflightRepository(); usedMDCLogging = camelContext.isUseMDCLogging() != null && camelContext.isUseMDCLogging(); mdcLoggingKeysPattern = camelContext.getMDCLoggingKeysPattern(); allowUseOriginalMessage = camelContext.isAllowUseOriginalMessage() != null ? camelContext.isAllowUseOriginalMessage() : false; diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/MDCUnitOfWork.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/MDCUnitOfWork.java index b7b77b1..3716909 100644 --- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/MDCUnitOfWork.java +++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/MDCUnitOfWork.java @@ -22,6 +22,7 @@ import java.util.Map; import org.apache.camel.AsyncCallback; import org.apache.camel.Exchange; import org.apache.camel.Processor; +import org.apache.camel.spi.InflightRepository; import org.apache.camel.spi.RouteContext; import org.apache.camel.spi.UnitOfWork; import org.apache.camel.support.PatternHelper; @@ -47,8 +48,9 @@ public class MDCUnitOfWork extends DefaultUnitOfWork { private final String originalCamelContextId; private final String originalTransactionKey; - public MDCUnitOfWork(Exchange exchange, String pattern, boolean allowUseOriginalMessage, boolean useBreadcrumb) { - super(exchange, LOG, allowUseOriginalMessage, useBreadcrumb); + public MDCUnitOfWork(Exchange exchange, InflightRepository inflightRepository, + String pattern, boolean allowUseOriginalMessage, boolean useBreadcrumb) { + super(exchange, LOG, inflightRepository, allowUseOriginalMessage, useBreadcrumb); this.pattern = pattern; // remember existing values @@ -81,7 +83,7 @@ public class MDCUnitOfWork extends DefaultUnitOfWork { @Override public UnitOfWork newInstance(Exchange exchange) { - return new MDCUnitOfWork(exchange, pattern, allowUseOriginalMessage, useBreadcrumb); + return new MDCUnitOfWork(exchange, inflightRepository, pattern, allowUseOriginalMessage, useBreadcrumb); } @Override
