X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=test%2Fenterprise%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Ftest%2Ftransactions%2FSimpleTransactionManager.java;h=3ba4e8147c760e19d76a410e25f4ec1d3f1f0224;hb=ee7fa42171c628c71bf072131b4b67b79316129c;hp=81a5bfad36f3479957d42a16a2c67aae6301fab8;hpb=8dd32e931b348cf53d3e8567c7a092735ea46253;p=utils diff --git a/test/enterprise/src/main/java/org/wamblee/test/transactions/SimpleTransactionManager.java b/test/enterprise/src/main/java/org/wamblee/test/transactions/SimpleTransactionManager.java index 81a5bfad..3ba4e814 100644 --- a/test/enterprise/src/main/java/org/wamblee/test/transactions/SimpleTransactionManager.java +++ b/test/enterprise/src/main/java/org/wamblee/test/transactions/SimpleTransactionManager.java @@ -64,7 +64,7 @@ import org.wamblee.test.persistence.JpaBuilder; public class SimpleTransactionManager { private UserTransactionFactory factory; - private ThreadSpecificProxyFactory transaction; + private ThreadLocal transaction; private UserTransactionCallback callback; private List resources; @@ -76,7 +76,7 @@ public class SimpleTransactionManager { */ public SimpleTransactionManager(UserTransactionFactory aFactory) { factory = aFactory; - transaction = new ThreadSpecificProxyFactory(UserTransaction.class); + transaction = new ThreadLocal(); callback = new UserTransactionCallback() { @Override @@ -106,12 +106,16 @@ public class SimpleTransactionManager { * @return User transaction. */ public UserTransaction getTransaction() { + return new AutoCreateUserTransaction(this); + } + + UserTransaction getOrCreateThreadSpecificTransaction() { UserTransaction tx = transaction.get(); if (tx == null) { tx = factory.create(callback, resources); transaction.set(tx); } - return transaction.getProxy(); + return tx; } /**