Class Committer


public final class Committer extends AbstractPhaseEngine
Phase 2 Commit logic engine.
Author:
lorban
  • Constructor Details

    • Committer

      public Committer(Executor executor)
  • Method Details

    • commit

      public void commit(BitronixTransaction transaction, List<XAResourceHolderState> interestedResources) throws jakarta.transaction.HeuristicMixedException, jakarta.transaction.HeuristicRollbackException, BitronixSystemException, BitronixRollbackException
      Execute phase 2 commit.
      Parameters:
      transaction - the transaction wanting to commit phase 2
      interestedResources - a map of phase 1 prepared resources wanting to participate in phase 2 using Xids as keys
      Throws:
      jakarta.transaction.HeuristicRollbackException - when all resources committed instead.
      jakarta.transaction.HeuristicMixedException - when some resources committed and some rolled back.
      BitronixSystemException - when an internal error occured.
      BitronixRollbackException - during 1PC when resource fails to commit
    • createJob

      protected Job createJob(XAResourceHolderState resourceHolder)
      Description copied from class: AbstractPhaseEngine
      Create a Job that is going to execute the phase command on the given resource.
      Specified by:
      createJob in class AbstractPhaseEngine
      Parameters:
      resourceHolder - the resource that is going to receive a command.
      Returns:
      the Job that is going to execute the command.
    • isParticipating

      protected boolean isParticipating(XAResourceHolderState xaResourceHolderState)
      Description copied from class: AbstractPhaseEngine
      Determine if a resource is participating in the phase or not. A participating resource gets a job created to execute the phase's command on it.
      Specified by:
      isParticipating in class AbstractPhaseEngine
      Parameters:
      xaResourceHolderState - the resource to check for its participation.
      Returns:
      true if the resource must participate in the phase.