diff --git a/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/TransactionInfo.java b/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/TransactionInfo.java index 6f0af4c..c0d597c 100644 --- a/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/TransactionInfo.java +++ b/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/TransactionInfo.java @@ -47,7 +47,16 @@ public class TransactionInfo implements Serializable { private int counter = 0; - private boolean owner = false; + private boolean owner; + + public TransactionInfo() { + clear(); + } + + public void clear() { + this.owner = false; + this.counter = 0; + } public int getCounter() { return counter; diff --git a/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/interceptor/TransactionalInterceptor.java b/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/interceptor/TransactionalInterceptor.java index 443a324..320ed1e 100644 --- a/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/interceptor/TransactionalInterceptor.java +++ b/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/interceptor/TransactionalInterceptor.java @@ -167,9 +167,14 @@ public class TransactionalInterceptor implements Serializable { if (transactionInfo.isOwner()) { if (transaction.isMarkedRollback()) { transaction.rollback(); + transactionInfo.clear(); + getLogger().info(getBundle().getString("transaction-rolledback")); + } else { transaction.commit(); + transactionInfo.clear(); + getLogger().info(getBundle().getString("transaction-commited")); } } -- libgit2 0.21.2