mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
49 lines
1.2 KiB
Java
49 lines
1.2 KiB
Java
package com.avaje.ebeaninternal.server.transaction;
|
|
|
|
import com.avaje.ebean.config.ExternalTransactionManager;
|
|
import com.avaje.ebeaninternal.api.SpiTransaction;
|
|
|
|
/**
|
|
* A TransactionScopeManager aware of external transaction managers.
|
|
*/
|
|
public class ExternalTransactionScopeManager extends TransactionScopeManager {
|
|
|
|
final ExternalTransactionManager externalManager;
|
|
|
|
/**
|
|
* Instantiates transaction scope manager.
|
|
*
|
|
* @param transactionManager the transaction manager
|
|
*/
|
|
public ExternalTransactionScopeManager(TransactionManager transactionManager, ExternalTransactionManager externalManager) {
|
|
super(transactionManager);
|
|
this.externalManager = externalManager;
|
|
}
|
|
|
|
public void commit() {
|
|
DefaultTransactionThreadLocal.commit(serverName);
|
|
}
|
|
|
|
|
|
public void end() {
|
|
DefaultTransactionThreadLocal.end(serverName);
|
|
}
|
|
|
|
public SpiTransaction get() {
|
|
|
|
return (SpiTransaction) externalManager.getCurrentTransaction();
|
|
}
|
|
|
|
public void replace(SpiTransaction trans) {
|
|
DefaultTransactionThreadLocal.replace(serverName, trans);
|
|
}
|
|
|
|
public void rollback() {
|
|
DefaultTransactionThreadLocal.rollback(serverName);
|
|
}
|
|
|
|
public void set(SpiTransaction trans) {
|
|
DefaultTransactionThreadLocal.set(serverName, trans);
|
|
}
|
|
}
|