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

Reply via email to