Spring 事务英文版

代码

/**   

     * Support a current transaction; create a new one if none exists.   

     * Analogous to EJB transaction attribute of the same name.   

     * <p>This is typically the default setting of a transaction definition.   

     */   

    int PROPAGATION_REQUIRED = 0;   

  

    /**   

     * Support a current transaction, execute non-transitionally if none exists.   

     * Analogous to EJB transaction attribute of the same name.   

     * <p>Note: For transaction managers with transaction synchronization,   

     * PROPAGATION_SUPPORTS is slightly different from no transaction at all,   

     * as it defines a transaction scoop that synchronization will apply for.   

     * As a consequence, the same resources (JDBC Connection, Hibernate Session, etc)   

     * will be shared for the entire specified scope. Note that this depends on   

     * the actual synchronization configuration of the transaction manager.   

     * @see org.springframework.transaction.support.AbstractPlatformTransactionManager#setTransactionSynchronization   

     */   

    int PROPAGATION_SUPPORTS = 1;   

  

    /**   

     * Support a current transaction, throw an exception if none exists.   

     * Analogous to EJB transaction attribute of the same name.   

     */   

    int PROPAGATION_MANDATORY = 2;   

  

    /**   

     * Create a new transaction; suspend the current transaction if one exists.   

     * Analogous to EJB transaction attribute of the same name.   

     * <p>Note: Actual transaction suspension will not work on out-of-the-box   

     * on all transaction managers. This in particular applies to JtaTransactionManager,   

     * which requires the <code>javax.transaction.TransactionManager</code> to be   

     * made available it to it (which is server-specific in standard J2EE).   

     * @see org.springframework.transaction.jta.JtaTransactionManager#setTransactionManager   

     */   

    int PROPAGATION_REQUIRES_NEW = 3;   

  

    /**   

     * Execute non-transactionally, suspend the current transaction if one exists.   

     * Analogous to EJB transaction attribute of the same name.   

     * <p>Note: Actual transaction suspension will not work on out-of-the-box   

     * on all transaction managers. This in particular applies to JtaTransactionManager,   

     * which requires the <code>javax.transaction.TransactionManager</code> to be   

     * made available it to it (which is server-specific in standard J2EE).   

     * @see org.springframework.transaction.jta.JtaTransactionManager#setTransactionManager   

     */   

    int PROPAGATION_NOT_SUPPORTED = 4;   

  

    /**   

     * Execute non-transactionally, throw an exception if a transaction exists.   

     * Analogous to EJB transaction attribute of the same name.   

     */   

    int PROPAGATION_NEVER = 5;   

  

    /**   

     * Execute within a nested transaction if a current transaction exists,   

     * behave like PROPAGATION_REQUIRED else. There is no analogous feature in EJB.   

     * <p>Note: Actual creation of a nested transaction will only work on specific   

     * transaction managers. Out of the box, this only applies to the JDBC   

     * DataSourceTransactionManager when working on a JDBC 3.0 driver.   

     * Some JTA providers might support nested transactions as well.   

     * @see org.springframework.jdbc.datasource.DataSourceTransactionManager   

     */   

int PROPAGATION_NESTED = 6;  

你可能感兴趣的:(事务,transactions)