You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@causeway.apache.org by da...@apache.org on 2023/12/11 10:37:28 UTC

(causeway) 10/25: CAUSEWAY-3654: moves onClose from InteractionAwareTransactionalBoundaryHandler to TransactionServiceSpring

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

danhaywood pushed a commit to branch CAUSEWAY-3654-isis
in repository https://gitbox.apache.org/repos/asf/causeway.git

commit 5e50b7fbfa23b6eabf38685356c464c61a5b176a
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Sun Dec 10 08:54:14 2023 +0000

    CAUSEWAY-3654: moves onClose from InteractionAwareTransactionalBoundaryHandler to TransactionServiceSpring
---
 .../InteractionAwareTransactionalBoundaryHandler.java      | 14 --------------
 .../runtimeservices/session/InteractionServiceDefault.java |  2 +-
 .../transaction/TransactionServiceSpring.java              | 14 ++++++++++++++
 3 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/core/interaction/src/main/java/org/apache/isis/core/interaction/integration/InteractionAwareTransactionalBoundaryHandler.java b/core/interaction/src/main/java/org/apache/isis/core/interaction/integration/InteractionAwareTransactionalBoundaryHandler.java
index 507bbc6941..198a513de4 100644
--- a/core/interaction/src/main/java/org/apache/isis/core/interaction/integration/InteractionAwareTransactionalBoundaryHandler.java
+++ b/core/interaction/src/main/java/org/apache/isis/core/interaction/integration/InteractionAwareTransactionalBoundaryHandler.java
@@ -68,20 +68,6 @@ public class InteractionAwareTransactionalBoundaryHandler {
 
     // -- CLOSE
 
-    public void onClose(final @NonNull IsisInteraction interaction) {
-
-        if (log.isDebugEnabled()) {
-            log.debug("closing on {}", _Probe.currentThreadId());
-        }
-
-        if(txManagers.isEmpty()) {
-            return; // nothing to do
-        }
-
-        Optional.ofNullable(interaction.getAttribute(OnCloseHandle.class))
-                .ifPresent(OnCloseHandle::runOnCloseTasks);
-
-    }
 
 
     // -- HELPER
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/session/InteractionServiceDefault.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/session/InteractionServiceDefault.java
index fddd1b536a..1b9306a0ee 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/session/InteractionServiceDefault.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/session/InteractionServiceDefault.java
@@ -394,7 +394,7 @@ implements
         }
 
         transactionBoundaryAwareBeans.forEach(TransactionBoundaryAware::beforeLeavingTransactionalBoundary);
-        txBoundaryHandler.onClose(interaction);
+        transactionServiceSpring.onClose(interaction);
         transactionBoundaryAwareBeans.forEach(TransactionBoundaryAware::afterLeavingTransactionalBoundary);
         transactionServiceSpring.afterLeavingTransactionalBoundary();
 
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/transaction/TransactionServiceSpring.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/transaction/TransactionServiceSpring.java
index c40a90fcd1..64f85a7190 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/transaction/TransactionServiceSpring.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/transaction/TransactionServiceSpring.java
@@ -380,4 +380,18 @@ implements
                 .ifPresent(InteractionAwareTransactionalBoundaryHandler.OnCloseHandle::requestRollback);
     }
 
+    public void onClose(final @NonNull IsisInteraction interaction) {
+
+        if (log.isDebugEnabled()) {
+            log.debug("closing on {}", _Probe.currentThreadId());
+        }
+
+        if(platformTransactionManagers.isEmpty()) {
+            return; // nothing to do
+        }
+
+        Optional.ofNullable(interaction.getAttribute(InteractionAwareTransactionalBoundaryHandler.OnCloseHandle.class))
+                .ifPresent(InteractionAwareTransactionalBoundaryHandler.OnCloseHandle::runOnCloseTasks);
+
+    }
 }