diff --git a/src/main/java/io/ebeaninternal/api/ScopedTransaction.java b/src/main/java/io/ebeaninternal/api/ScopedTransaction.java index a8d38b03f..8db8c316d 100644 --- a/src/main/java/io/ebeaninternal/api/ScopedTransaction.java +++ b/src/main/java/io/ebeaninternal/api/ScopedTransaction.java @@ -70,7 +70,7 @@ public class ScopedTransaction extends SpiTransactionProxy { private void clearScopeOnce() { if (!scopeCleared) { - manager.set(null); + manager.clear(); scopeCleared = true; } } diff --git a/src/main/java/io/ebeaninternal/server/transaction/DefaultTransactionThreadLocal.java b/src/main/java/io/ebeaninternal/server/transaction/DefaultTransactionThreadLocal.java index 530878d27..9b415ece5 100644 --- a/src/main/java/io/ebeaninternal/server/transaction/DefaultTransactionThreadLocal.java +++ b/src/main/java/io/ebeaninternal/server/transaction/DefaultTransactionThreadLocal.java @@ -31,12 +31,11 @@ public final class DefaultTransactionThreadLocal { */ public static void set(String serverName, SpiTransaction trans) { if (trans == null) { - remove(serverName); - } else { - SpiTransaction existingTransaction = local.get().put(serverName, trans); - if (existingTransaction != null && existingTransaction.isActive()) { - throw new PersistenceException("The existing transaction is still active?"); - } + throw new IllegalStateException("Setting a null transaction?"); + } + SpiTransaction existingTransaction = local.get().put(serverName, trans); + if (existingTransaction != null && existingTransaction.isActive()) { + throw new PersistenceException("The existing transaction is still active?"); } } @@ -82,52 +81,4 @@ public final class DefaultTransactionThreadLocal { return local.get(); } - private static SpiTransaction obtain(String serverName) { - SpiTransaction transaction = local.get().remove(serverName); - if (transaction == null) { - throw new IllegalStateException("No current transaction for [" + serverName + "]"); - } - return transaction; - } - - /** - * Commit the current transaction. - */ - public static void commit(String serverName) { - obtain(serverName).commit(); - } - - /** - * Rollback the current transaction. - */ - public static void rollback(String serverName) { - obtain(serverName).rollback(); - } - - /** - * If the transaction has not been committed then roll it back. - *

- * Designed to be put in a finally block instead of a rollback() in each catch - * block. - *

- *

-   * Ebean.beginTransaction();
-   * try {
-   *   // ... perform some actions in a single transaction
-   *
-   *   Ebean.commitTransaction();
-   *
-   * } finally {
-   *   // ensure transaction ended. If some error occurred then rollback()
-   *   Ebean.endTransaction();
-   * }
-   * 
- */ - public static void end(String serverName) { - SpiTransaction transaction = local.get().remove(serverName); - if (transaction != null) { - transaction.end(); - } - } - }