io.ebeaninternal.server.transaction.TransactionScopeManager Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ebean Show documentation
Show all versions of ebean Show documentation
composite of common runtime dependencies for all platforms
package io.ebeaninternal.server.transaction;
import io.ebeaninternal.api.SpiTransaction;
import io.ebeaninternal.api.SpiTransactionScopeManager;
/**
* Manages the Transactions typically held in a ThreadLocal.
*/
public abstract class TransactionScopeManager implements SpiTransactionScopeManager {
protected final String serverName;
public TransactionScopeManager(String serverName) {
this.serverName = serverName;
}
/**
* Register the transaction manager (for use by external transaction scopes).
*/
public abstract void register(TransactionManager manager);
/**
* Return the current Transaction from internal Ebean scope.
*/
public abstract SpiTransaction getInScope();
/**
* Return the current Transaction potentially looking in external scope (like Spring).
*/
public abstract SpiTransaction getActive();
/**
* Set a new Transaction for this serverName and Thread.
*/
public abstract void set(SpiTransaction trans);
/**
* Replace the current transaction with this one.
*
* Used for Background fetching and Nested transaction scopes.
*
*
* Used for background fetching. Replaces the current transaction with a
* 'dummy' transaction. The current transaction is given to the background
* thread so it can continue the fetch.
*
*/
@Override
public abstract void replace(SpiTransaction trans);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy