You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2020/01/25 21:25:39 UTC

[camel] branch master updated (b7e4fe6 -> a4c40c5)

This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git.


    from b7e4fe6  CAMEL-14354: camel-core optimize
     new 0412808  CAMEL-14354: camel-core optimize
     new 8e727dc  Polishde
     new a4c40c5  CAMEL-14354: camel-core optimize

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../src/main/java/org/apache/camel/Exchange.java       |  1 +
 .../main/java/org/apache/camel/ExtendedExchange.java   |  5 +++++
 .../apache/camel/impl/engine/DefaultUnitOfWork.java    |  8 +++++++-
 .../apache/camel/processor/CamelInternalProcessor.java |  6 +-----
 .../java/org/apache/camel/support/DefaultExchange.java | 18 +++++++++++-------
 5 files changed, 25 insertions(+), 13 deletions(-)


[camel] 02/03: Polishde

Posted by da...@apache.org.
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 8e727dc08d03b2e42691659fd8899b67271ef1cb
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sat Jan 25 20:15:22 2020 +0100

    Polishde
---
 .../java/org/apache/camel/processor/CamelInternalProcessor.java     | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/core/camel-base/src/main/java/org/apache/camel/processor/CamelInternalProcessor.java b/core/camel-base/src/main/java/org/apache/camel/processor/CamelInternalProcessor.java
index 7577fb5..c0269fb 100644
--- a/core/camel-base/src/main/java/org/apache/camel/processor/CamelInternalProcessor.java
+++ b/core/camel-base/src/main/java/org/apache/camel/processor/CamelInternalProcessor.java
@@ -220,11 +220,7 @@ public class CamelInternalProcessor extends DelegateAsyncProcessor {
         if (exchange.isTransacted()) {
             // must be synchronized for transacted exchanges
             if (LOG.isTraceEnabled()) {
-                if (exchange.isTransacted()) {
-                    LOG.trace("Transacted Exchange must be routed synchronously for exchangeId: {} -> {}", exchange.getExchangeId(), exchange);
-                } else {
-                    LOG.trace("Synchronous UnitOfWork Exchange must be routed synchronously for exchangeId: {} -> {}", exchange.getExchangeId(), exchange);
-                }
+                LOG.trace("Transacted Exchange must be routed synchronously for exchangeId: {} -> {}", exchange.getExchangeId(), exchange);
             }
             // ----------------------------------------------------------
             // CAMEL END USER - DEBUG ME HERE +++ START +++


[camel] 03/03: CAMEL-14354: camel-core optimize

Posted by da...@apache.org.
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 a4c40c5717d53d962d641da9a72c8df4711a1c96
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sat Jan 25 20:48:25 2020 +0100

    CAMEL-14354: camel-core optimize
---
 .../src/main/java/org/apache/camel/ExtendedExchange.java    |  5 +++++
 .../org/apache/camel/impl/engine/DefaultUnitOfWork.java     |  8 +++++++-
 .../main/java/org/apache/camel/support/DefaultExchange.java | 13 +++++++------
 3 files changed, 19 insertions(+), 7 deletions(-)

diff --git a/core/camel-api/src/main/java/org/apache/camel/ExtendedExchange.java b/core/camel-api/src/main/java/org/apache/camel/ExtendedExchange.java
index ce927f1..2f9acdf 100644
--- a/core/camel-api/src/main/java/org/apache/camel/ExtendedExchange.java
+++ b/core/camel-api/src/main/java/org/apache/camel/ExtendedExchange.java
@@ -100,4 +100,9 @@ public interface ExtendedExchange extends Exchange {
      */
     String getHistoryNodeLabel();
 
+    /**
+     * Sets whether the exchange is routed in a transaction.
+     */
+    void setTransacted(boolean transacted);
+
 }
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 e2d69dd..7c784be 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
@@ -59,6 +59,7 @@ public class DefaultUnitOfWork implements UnitOfWork, Service {
     //   requires API changes and thus is best kept for future Camel work
 
     private String id;
+    private final Exchange exchange;
     private final Logger log;
     private final CamelContext context;
     private final InflightRepository inflightRepository;
@@ -73,7 +74,8 @@ public class DefaultUnitOfWork implements UnitOfWork, Service {
     }
 
     protected DefaultUnitOfWork(Exchange exchange, Logger logger) {
-        log = logger;
+        this.exchange = exchange;
+        this.log = logger;
         if (log.isTraceEnabled()) {
             log.trace("UnitOfWork created for ExchangeId: {} with {}", exchange.getExchangeId(), exchange);
         }
@@ -264,12 +266,16 @@ public class DefaultUnitOfWork implements UnitOfWork, Service {
 
     @Override
     public void beginTransactedBy(Object key) {
+        exchange.adapt(ExtendedExchange.class).setTransacted(true);
         getTransactedBy().add(key);
     }
 
     @Override
     public void endTransactedBy(Object key) {
         getTransactedBy().remove(key);
+        // we may still be transacted even if we end this section of transaction
+        boolean transacted = isTransacted();
+        exchange.adapt(ExtendedExchange.class).setTransacted(transacted);
     }
 
     @Override
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/DefaultExchange.java b/core/camel-support/src/main/java/org/apache/camel/support/DefaultExchange.java
index 995f306..0c6d925 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/DefaultExchange.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/DefaultExchange.java
@@ -57,6 +57,7 @@ public final class DefaultExchange implements ExtendedExchange {
     private Boolean externalRedelivered;
     private String historyNodeId;
     private String historyNodeLabel;
+    private boolean transacted;
     private boolean routeStop;
     private boolean rollbackOnly;
     private boolean rollbackOnlyLast;
@@ -467,12 +468,12 @@ public final class DefaultExchange implements ExtendedExchange {
 
     @Override
     public boolean isTransacted() {
-        UnitOfWork uow = getUnitOfWork();
-        if (uow != null) {
-            return uow.isTransacted();
-        } else {
-            return false;
-        }
+        return transacted;
+    }
+
+    @Override
+    public void setTransacted(boolean transacted) {
+        this.transacted = true;
     }
 
     @Override


[camel] 01/03: CAMEL-14354: camel-core optimize

Posted by da...@apache.org.
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 041280874e7e018882f9d4c2caf12914ea78ae99
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sat Jan 25 20:09:03 2020 +0100

    CAMEL-14354: camel-core optimize
---
 core/camel-api/src/main/java/org/apache/camel/Exchange.java          | 1 +
 .../src/main/java/org/apache/camel/support/DefaultExchange.java      | 5 ++++-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/core/camel-api/src/main/java/org/apache/camel/Exchange.java b/core/camel-api/src/main/java/org/apache/camel/Exchange.java
index 4bb713e..369cc00 100644
--- a/core/camel-api/src/main/java/org/apache/camel/Exchange.java
+++ b/core/camel-api/src/main/java/org/apache/camel/Exchange.java
@@ -303,6 +303,7 @@ public interface Exchange {
      * @return the value of the given property or <tt>defaultValue</tt> if there is no
      *         property for the given name
      */
+    @Deprecated
     Object getProperty(String name, Object defaultValue);
 
     /**
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/DefaultExchange.java b/core/camel-support/src/main/java/org/apache/camel/support/DefaultExchange.java
index 8beb3da..995f306 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/DefaultExchange.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/DefaultExchange.java
@@ -202,7 +202,10 @@ public final class DefaultExchange implements ExtendedExchange {
     @Override
     @SuppressWarnings("unchecked")
     public <T> T getProperty(String name, Object defaultValue, Class<T> type) {
-        Object value = getProperty(name, defaultValue);
+        Object value = getProperty(name);
+        if (value == null) {
+            value = defaultValue;
+        }
         if (value == null) {
             // lets avoid NullPointerException when converting to boolean for null values
             if (boolean.class == type) {