public final class TwoPhaseCommitTool extends Object
TwoPhaseCommit| Modifier and Type | Class and Description |
|---|---|
static class |
TwoPhaseCommitTool.CommitFailException
Thrown by
execute(TwoPhaseCommit...) when an
object fails to commit(). |
static class |
TwoPhaseCommitTool.PrepareCommitFailException
Thrown by
execute(TwoPhaseCommit...) when an
object fails to prepareCommit(). |
| Modifier and Type | Method and Description |
|---|---|
static void |
execute(TwoPhaseCommit... objects)
Executes a 2-phase commit algorithm by first
TwoPhaseCommit.prepareCommit() all objects and only if all succeed,
it proceeds with TwoPhaseCommit.commit(). |
public static void execute(TwoPhaseCommit... objects) throws TwoPhaseCommitTool.PrepareCommitFailException, TwoPhaseCommitTool.CommitFailException
TwoPhaseCommit.prepareCommit() all objects and only if all succeed,
it proceeds with TwoPhaseCommit.commit(). If any of the objects
fail on either the preparation or actual commit, it terminates and
TwoPhaseCommit.rollback() all of them.
NOTE: it may happen that an object fails to commit, after few have already successfully committed. This tool will still issue a rollback instruction on them as well, but depending on the implementation, it may not have any effect.
NOTE: if any of the objects are null, this method simply
skips over them.
TwoPhaseCommitTool.PrepareCommitFailException - if any of the objects fail to
TwoPhaseCommit.prepareCommit()TwoPhaseCommitTool.CommitFailException - if any of the objects fail to TwoPhaseCommit.commit()Copyright © 2000-2014 Apache Software Foundation. All Rights Reserved.