Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.jboss.jbossts.xts.recovery.coordinator.ba;
  
  
  
This class is a plug-in module for the recovery manager. It is responsible for recovering failed WSBA ACCoordinator transactions.
 
 public class RecoveryBACoordinator extends BACoordinator {

   
Re-creates/activates an AtomicAction for the specified transaction Uid.
 
    public RecoveryBACoordinatorUid rcvUid )
    {
       superrcvUid ) ;
        = activate() ;
       if () {
           setRecoveryCoordinator();
       }
    }

    
provide the recovered participants with a handle on this coordinator so they can propagate events through to it.
 
 
     public void setRecoveryCoordinator()
     {
         if ( != null)
         {
             RecordListIterator iter = new RecordListIterator();
             AbstractRecord absRec = iter.iterate();
 
             while (absRec != null)
             {
                 if (absRec instanceof ParticipantRecord)
                 {
                     ParticipantRecord pr = (ParticipantRecordabsRec;
                 }
 
                 absRec = iter.iterate();
             }
         }
     }

   
Replays phase 2 of the commit protocol.
 
    public void replayPhase2()
    {
        final int status = status();
 
        if (..isDebugEnabled()) {
            ..debugv("RecoveryBACoordinator.replayPhase2 recovering {0} ActionStatus is {1}"new Object[]{get_uid(), ActionStatus.stringForm(status)});
        }
 
        if (  )
        {
            // we only need to rerun phase2 if the action status is  PREPARED, which happens
            // when we crash between a successful complete beginning a close, or COMMITTING, which
            // happens when we get a comms timeout from one of the participants after sending it a CLOSE
            // message. in the former case all participant records will be listed in the prepared list.
            // in the latter case the failed participant record(s) will have been reinstated in the
            // prepared list and the participant stub engine reactivated, where necessary,
            // under the call to activate() when this coordinator was created.
 
            // we can also arrive here when the action status is ABORTING. This happens when we
            // get a comms timeout from one of the participants after sending it a CANCEL message
            // or if we get a comms timeout from one of the participants after sending it a COMPENSATE
            // message.
 
        if ((status == .) ||
                (status == .) ||
                (status == .) ||
                (status == .) ||
                (status == .) ||
                (status == .))
 	   {
 	       super.phase2Commit ) ;
 	   } else if ((status ==  .) ||
                (status == .) ||
                (status == .) ||
                (status == .))
        {
            super.phase2Abort ) ;
        }
 
        if (..isDebugEnabled()) {
           ..debugv("RecoveryBACoordinator.replayPhase2( {0} )  finished"new Object[]{get_uid()});
       }
       }
       else
       {
       }
   }
   // Flag to indicate that this transaction has been re-activated
   // successfully.
   private boolean _activated = false ;
   // whether heuristic reporting on phase 2 commit is enabled.
   private boolean _reportHeuristics = true ;
New to GrepCode? Check out our FAQ X