public void localBegin ( ) { if ( this . isInLocalTransaction ) { throw new TransactionInProgressException ( "Connection is already in transaction" ) ; } Connection connection = null ; try { connection = this . getConnection ( ) ; } catch ( LookupException e ) { /** * must throw to notify user that we couldn't start a connection */ throw new PersistenceBrokerException ( "Can't lookup a connection" , e ) ; } if ( log . isDebugEnabled ( ) ) log . debug ( "localBegin was called for con " + connection ) ; // change autoCommit state only if we are not in a managed environment // and it is enabled by user if ( ! broker . isManaged ( ) ) { if ( jcd . getUseAutoCommit ( ) == JdbcConnectionDescriptor . AUTO_COMMIT_SET_TRUE_AND_TEMPORARY_FALSE ) { if ( log . isDebugEnabled ( ) ) log . debug ( "Try to change autoCommit state to 'false'" ) ; platform . changeAutoCommitState ( jcd , connection , false ) ; } } else { if ( log . isDebugEnabled ( ) ) log . debug ( "Found managed environment setting in PB, will skip Platform.changeAutoCommitState(...) call" ) ; } this . isInLocalTransaction = true ; }
Start transaction on the underlying connection .