《spring2.0宝典》-声明性事物之事物传播规则学习

《spring2.0宝典》-声明性事物之事物传播规则学习
 最近在看《Spring2.0宝典》,吸收了不少知识,嘻嘻~

      常见的事物传播规则有如下几种:

  1.  PROPAGATION_MANDATORY: 要求调用该方法的线程必须处于事务环境中,否则抛出异常;
  2.  PROPAGATION_NESTED:如果执行该方法的线程已处于事务环境下,依然启动新的事务,方法在嵌套的事务里执行。如果执行该方法的线程并未处于事务中,也启动新的事务,然后执行该方法,此时与 PROPAGATION_REQUIRED相同;
  3.  PROPAGATION_NEVER:不允许调用该方法的线程处于事务环境下,如果调用该方法的线程处于事务环境下,则抛出异常;
  4.  PROPAGATION_NOT_SUPPORTED:如果调用该方法的线程处于事务中,则先暂停当前事务,然户执行该方法;
  5.  PROPAGATION_REQUIRED:要求在事务环境中执行该方法,如果当前线程已处于事务中,则直接调用,然后执行该方法;
  6.  PROPAGATION_REQUIRES_NEW:该方法要求有一个在新的事务环境中执行,如果当前线程已处于事务中,先暂停当前事务,启动新事务后执行该方法,如果当前调用线程不处在事务中,则启动新的事务方法后执行方法;
  7.  PROPAGATION_SUPPORTS:如果当前执行线程处于事务中,则执行当前事务,否则不使用事务。

你可能感兴趣的:(《spring2.0宝典》-声明性事物之事物传播规则学习)