X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Finternal%2Ftransaction%2FSimpleTransactionManager.java;h=30d9b72911b3e7151968802624f669841cb6d5b5;hb=fc5ccf2c8877e6253bdbebd071b8a6555daf64ec;hp=6261a02655fc74ac06079fd2c8ef95f6d65c99e1;hpb=25071ab6bcb2df1fa4057c2c04137f2d606772e7;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/internal/transaction/SimpleTransactionManager.java b/org.argeo.cms/src/org/argeo/cms/internal/transaction/SimpleTransactionManager.java index 6261a0265..30d9b7291 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/transaction/SimpleTransactionManager.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/transaction/SimpleTransactionManager.java @@ -38,11 +38,11 @@ public class SimpleTransactionManager implements TransactionManager, if (getCurrent() != null) throw new NotSupportedException( "Nested transactions are not supported"); - SimpleTransaction transaction = new SimpleTransaction(); + SimpleTransaction transaction = new SimpleTransaction(this); knownTransactions.put(transaction.getXid(), transaction); current.set(transaction); if (log.isDebugEnabled()) - log.debug("Started transaction " + transaction.getXid()); + log.debug("STARTED " + transaction.getXid()); } @Override @@ -75,17 +75,14 @@ public class SimpleTransactionManager implements TransactionManager, if (Status.STATUS_COMMITTED == status || Status.STATUS_ROLLEDBACK == status) { current.remove(); - knownTransactions.remove(transaction.getXid()); - if (log.isDebugEnabled()) - log.debug("Completed transaction " - + transaction.getXid() - + " [" - + (status == Status.STATUS_ROLLEDBACK ? "FAILED" : "OK") - + "]"); return null; } return transaction; } + + void unregister(Xid xid){ + knownTransactions.remove(xid); + } @Override public void resume(Transaction tobj) throws InvalidTransactionException, @@ -125,7 +122,7 @@ public class SimpleTransactionManager implements TransactionManager, return transaction; } - public TransactionSynchronizationRegistry getTransactionSynchronizationRegistry() { + public TransactionSynchronizationRegistry getTsr() { return syncRegistry; }