Repository: deltaspike Updated Branches: refs/heads/master 7bd3c1d53 -> 94776b098
DELTASPIKE-900: commit tx if we started it Project: http://git-wip-us.apache.org/repos/asf/deltaspike/repo Commit: http://git-wip-us.apache.org/repos/asf/deltaspike/commit/94776b09 Tree: http://git-wip-us.apache.org/repos/asf/deltaspike/tree/94776b09 Diff: http://git-wip-us.apache.org/repos/asf/deltaspike/diff/94776b09 Branch: refs/heads/master Commit: 94776b09867fdea0875f3e3ca98f68a62f43e707 Parents: 7bd3c1d Author: Alexander Falb <el...@apache.org> Authored: Wed Aug 22 16:46:24 2018 +0200 Committer: Alexander Falb <el...@apache.org> Committed: Mon Sep 3 12:33:14 2018 +0200 ---------------------------------------------------------------------- .../transaction/ResourceLocalTransactionStrategy.java | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/deltaspike/blob/94776b09/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/ResourceLocalTransactionStrategy.java ---------------------------------------------------------------------- diff --git a/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/ResourceLocalTransactionStrategy.java b/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/ResourceLocalTransactionStrategy.java index 4c9cb7b..f21bd8c 100644 --- a/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/ResourceLocalTransactionStrategy.java +++ b/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/transaction/ResourceLocalTransactionStrategy.java @@ -92,7 +92,7 @@ public class ResourceLocalTransactionStrategy implements TransactionStrategy TransactionBeanStorage transactionBeanStorage = TransactionBeanStorage.getInstance(); boolean isOutermostInterceptor = transactionBeanStorage.isEmpty(); - boolean outermostTransactionAlreadyExisted = false; + boolean startedTransaction = false; if (isOutermostInterceptor) { @@ -111,7 +111,6 @@ public class ResourceLocalTransactionStrategy implements TransactionStrategy for (Class<? extends Annotation> emQualifier : emQualifiers) { EntityManager entityManager = resolveEntityManagerForQualifier(emQualifier); - EntityManagerEntry entityManagerEntry = createEntityManagerEntry(entityManager, emQualifier); transactionBeanStorage.storeUsedEntityManager(entityManagerEntry); @@ -121,10 +120,7 @@ public class ResourceLocalTransactionStrategy implements TransactionStrategy { beforeBegin(invocationContext, entityManagerEntry, transaction); transaction.begin(); - } - else if (isOutermostInterceptor) - { - outermostTransactionAlreadyExisted = true; + startedTransaction = true; } //don't move it before EntityTransaction#begin() and invoke it in any case @@ -144,7 +140,7 @@ public class ResourceLocalTransactionStrategy implements TransactionStrategy Set<EntityManagerEntry> entityManagerEntryList = transactionBeanStorage.getUsedEntityManagerEntries(); - if (!outermostTransactionAlreadyExisted) + if (startedTransaction) { // We only commit transactions we opened ourselfs. // If the transaction got opened outside of our interceptor chain @@ -177,7 +173,7 @@ public class ResourceLocalTransactionStrategy implements TransactionStrategy // In case of JTA we will just commit the UserTransaction. if (isOutermostInterceptor) { - if (!outermostTransactionAlreadyExisted) + if (startedTransaction) { // We only commit transactions we opened ourselfs. // If the transaction got opened outside of our interceptor chain