public void registerTransaction(TransactionImpl tran, boolean recovered) {
        if (tc.isEntryEnabled())
            Tr.entry(tc, "registerTransaction", new Object[] { this, tran, recovered });

        //AJQ - use concurrent set on large SMP
        if (isConcurrent)
            _transactions.add(tran);

        //AJQ - new gate for synchronized block
        if (!isConcurrent || recovered) {
            synchronized (this) {
                //AJQ - only if using standard hashset
                if (!isConcurrent)
                    _transactions.add(tran);

                if (recovered) {
                    _recoveryManager.registerTransaction(tran);
                }
            }
        }

        if (tc.isEntryEnabled())
            Tr.exit(tc, "registerTransaction");
    }
public void registerTransaction ( TransactionImpl tran , boolean recovered ) { if ( tc . isEntryEnabled ( ) ) Tr . entry ( tc , "registerTransaction" , new Object [ ] { this , tran , recovered } ) ; if ( isConcurrent ) _transactions . add ( tran ) ; if ( ! isConcurrent || recovered ) { synchronized ( this ) { if ( ! isConcurrent ) _transactions . add ( tran ) ; if ( recovered ) { _recoveryManager . registerTransaction ( tran ) ; } } } if ( tc . isEntryEnabled ( ) ) Tr . exit ( tc , "registerTransaction" ) ; }
This method is called to register the creation of a new transaction associated
with the managed failure scope.

@param tran The transaction identity object
@param recovered Flag to indicate if the new transaction was created as part
of a recovery process for this failure scope (true) or
normal running (false)