Small optimization about UoW to compute isExternalRedeliveried only once as JMX 
performance statis will otherwise repeativly calculate this on each complete.


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/bbaa6ea9
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/bbaa6ea9
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/bbaa6ea9

Branch: refs/heads/master
Commit: bbaa6ea933ca05470a730cf065ad318309a0f5c7
Parents: b16a262
Author: Claus Ibsen <davscl...@apache.org>
Authored: Fri May 26 18:24:25 2017 +0200
Committer: Claus Ibsen <davscl...@apache.org>
Committed: Sat May 27 09:03:47 2017 +0200

----------------------------------------------------------------------
 .../src/main/java/org/apache/camel/impl/DefaultExchange.java   | 4 ----
 .../src/main/java/org/apache/camel/impl/DefaultUnitOfWork.java | 6 ++++--
 2 files changed, 4 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/bbaa6ea9/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java 
b/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java
index f43396a..c1a5c39 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultExchange.java
@@ -429,10 +429,6 @@ public final class DefaultExchange implements Exchange {
             Message msg = getIn();
             if (msg instanceof DefaultMessage) {
                 answer = ((DefaultMessage) msg).isTransactedRedelivered();
-                if (answer != null) {
-                    // store as property to keep around
-                    setProperty(Exchange.EXTERNAL_REDELIVERED, answer);
-                }
             }
         }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/bbaa6ea9/camel-core/src/main/java/org/apache/camel/impl/DefaultUnitOfWork.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/impl/DefaultUnitOfWork.java 
b/camel-core/src/main/java/org/apache/camel/impl/DefaultUnitOfWork.java
index cb7e2a8..f8f0971 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/DefaultUnitOfWork.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultUnitOfWork.java
@@ -116,9 +116,11 @@ public class DefaultUnitOfWork implements UnitOfWork, 
Service {
         // store as property so we know that the origin exchange was 
redelivered
         if (exchange.getProperty(Exchange.EXTERNAL_REDELIVERED) == null) {
             Boolean redelivered = exchange.isExternalRedelivered();
-            if (redelivered != null) {
-                exchange.setProperty(Exchange.EXTERNAL_REDELIVERED, 
redelivered);
+            if (redelivered == null) {
+                // not from a transactional resource so mark it as false by 
default
+                redelivered = false;
             }
+            exchange.setProperty(Exchange.EXTERNAL_REDELIVERED, redelivered);
         }
 
         // fire event

Reply via email to