net.hasor.db.transaction.support
类 JdbcTransactionManager

java.lang.Object
  继承者 net.hasor.db.transaction.support.JdbcTransactionManager
所有已实现的接口:
TransactionManager

public class JdbcTransactionManager
extends Object
implements TransactionManager

某一个数据源的事务管理器

事务栈:

事务管理器允许使用不同的传播属性反复开启新的事务。所有被开启的事务在正确处置(commit,rollback) 它们之前都会按照先后顺序依次压入事务管理器的“事务栈”中。一旦有事务被处理(commit,rollback)这个事务才会被从事务栈中弹出。

倘若被弹出的事务(A)并不是栈顶的事务,那么在事务(A)被处理(commit,rollback)时会优先处理自事务(A)以后开启的其它事务。

版本:
: 2013-10-30
作者:
赵永春(zyc@hasor.net)

构造方法摘要
protected JdbcTransactionManager(DataSource dataSource)
           
 
方法摘要
 void commit(TransactionStatus status)
          递交事务
protected  void doBegin(JdbcTransactionStatus defStatus)
          初始化一个新的连接,并开启事务。
protected  void doCommit(JdbcTransactionStatus defStatus)
          处理当前底层数据库连接的事务递交操作。
protected  TransactionObject doGetConnection(JdbcTransactionStatus defStatus)
          获取数据库连接(线程绑定的)
protected  void doRollback(JdbcTransactionStatus defStatus)
          处理当前底层数据库连接的事务回滚操作。
 DataSource getDataSource()
          获取当前事务管理器管理的数据源对象。
 TransactionStatus getTransaction(Propagation behavior)
          开启事务
 TransactionStatus getTransaction(Propagation behavior, Isolation level)
          开启事务
 boolean hasTransaction()
          是否存在未处理完的事务(包括被挂起的事务)。
 boolean isTopTransaction(TransactionStatus status)
          测试事务状态是否位于栈顶。
protected  void resume(JdbcTransactionStatus defStatus)
          恢复被挂起的事务。
 void rollBack(TransactionStatus status)
          回滚事务
protected  void suspend(JdbcTransactionStatus defStatus)
          挂起事务。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

JdbcTransactionManager

protected JdbcTransactionManager(DataSource dataSource)
方法详细信息

getDataSource

public DataSource getDataSource()
获取当前事务管理器管理的数据源对象。


hasTransaction

public boolean hasTransaction()
是否存在未处理完的事务(包括被挂起的事务)。

指定者:
接口 TransactionManager 中的 hasTransaction

isTopTransaction

public boolean isTopTransaction(TransactionStatus status)
测试事务状态是否位于栈顶。

指定者:
接口 TransactionManager 中的 isTopTransaction

getTransaction

public final TransactionStatus getTransaction(Propagation behavior)
                                       throws SQLException
开启事务

指定者:
接口 TransactionManager 中的 getTransaction
抛出:
SQLException
另请参见:
Propagation, TransactionManager.getTransaction(Propagation, Isolation)

getTransaction

public final TransactionStatus getTransaction(Propagation behavior,
                                              Isolation level)
                                       throws SQLException
开启事务

指定者:
接口 TransactionManager 中的 getTransaction
抛出:
SQLException
另请参见:
Propagation, Connection.setTransactionIsolation(int)

doBegin

protected void doBegin(JdbcTransactionStatus defStatus)
                throws SQLException
初始化一个新的连接,并开启事务。

抛出:
SQLException

commit

public final void commit(TransactionStatus status)
                  throws SQLException
递交事务

指定者:
接口 TransactionManager 中的 commit
抛出:
SQLException

doCommit

protected void doCommit(JdbcTransactionStatus defStatus)
                 throws SQLException
处理当前底层数据库连接的事务递交操作。

抛出:
SQLException

rollBack

public final void rollBack(TransactionStatus status)
                    throws SQLException
回滚事务

指定者:
接口 TransactionManager 中的 rollBack
抛出:
SQLException

doRollback

protected void doRollback(JdbcTransactionStatus defStatus)
                   throws SQLException
处理当前底层数据库连接的事务回滚操作。

抛出:
SQLException

suspend

protected final void suspend(JdbcTransactionStatus defStatus)
                      throws SQLException
挂起事务。

抛出:
SQLException

resume

protected final void resume(JdbcTransactionStatus defStatus)
                     throws SQLException
恢复被挂起的事务。

抛出:
SQLException

doGetConnection

protected TransactionObject doGetConnection(JdbcTransactionStatus defStatus)
                                     throws SQLException
获取数据库连接(线程绑定的)

抛出:
SQLException


Copyright © 2014. All rights reserved.