/** * Create a new instance, and give it the transaction to * control. The commit parameter determines whether the thread * should commit or rollback the transaction. */ public static AsyncCommit create (BasicAction toControl, boolean commit) { AsyncCommit c = new AsyncCommit(toControl, commit); c.start(); Thread.yield(); return c; }
public void run() { { if (_theAction != null) { /* * This is a transient thread so we don't * want to register it with the action it is * committing/aborting, only change its notion of the * current transaction so that any abstract * records that need that information can still * have it. */ ThreadActionData.pushAction(_theAction, false); if (_commit) doPhase2Commit(); else doPhase2Abort(); ThreadActionData.popAction(false); } } }
TwoPhaseCommitThreadPool.submitJob(new AsyncCommit(this, false)); } else && (parentAction == null)) TwoPhaseCommitThreadPool.submitJob(new AsyncCommit(this, true));
TwoPhaseCommitThreadPool.submitJob(new AsyncCommit(this, false)); } else && (parentAction == null)) TwoPhaseCommitThreadPool.submitJob(new AsyncCommit(this, true));
public void run() { { if (_theAction != null) { /* * This is a transient thread so we don't * want to register it with the action it is * committing/aborting, only change its notion of the * current transaction so that any abstract * records that need that information can still * have it. */ ThreadActionData.pushAction(_theAction, false); if (_commit) doPhase2Commit(); else doPhase2Abort(); ThreadActionData.popAction(false); } } }
TwoPhaseCommitThreadPool.submitJob(new AsyncCommit(this, false)); } else && (parentAction == null)) TwoPhaseCommitThreadPool.submitJob(new AsyncCommit(this, true));
/** * Create a new instance, and give it the transaction to * control. The commit parameter determines whether the thread * should commit or rollback the transaction. */ public static AsyncCommit create (BasicAction toControl, boolean commit) { AsyncCommit c = new AsyncCommit(toControl, commit); c.start(); Thread.yield(); return c; }
public void run() { { if (_theAction != null) { /* * This is a transient thread so we don't * want to register it with the action it is * committing/aborting, only change its notion of the * current transaction so that any abstract * records that need that information can still * have it. */ ThreadActionData.pushAction(_theAction, false); if (_commit) doPhase2Commit(); else doPhase2Abort(); ThreadActionData.popAction(false); } } }
TwoPhaseCommitThreadPool.submitJob(new AsyncCommit(this, false)); } else && (parentAction == null)) TwoPhaseCommitThreadPool.submitJob(new AsyncCommit(this, true));
public void run() { { if (_theAction != null) { /* * This is a transient thread so we don't * want to register it with the action it is * committing/aborting, only change its notion of the * current transaction so that any abstract * records that need that information can still * have it. */ ThreadActionData.pushAction(_theAction, false); if (_commit) doPhase2Commit(); else doPhase2Abort(); ThreadActionData.popAction(false); } } }
TwoPhaseCommitThreadPool.submitJob(new AsyncCommit(this, false)); } else && (parentAction == null)) TwoPhaseCommitThreadPool.submitJob(new AsyncCommit(this, true));
/** * Overloads Thread.run */ public void run () { if (_theAction != null) { /* * This is a transient thread so we don't * want to register it with the action it is * committing/aborting, only change its notion of the * current transaction so that any abstract * records that need that information can still * have it. */ ThreadActionData.pushAction(_theAction, false); if (_commit) doPhase2Commit(); else doPhase2Abort(); ThreadActionData.popAction(false); } }
TwoPhaseCommitThreadPool.submitJob(new AsyncCommit(this, false)); } else && (parentAction == null)) TwoPhaseCommitThreadPool.submitJob(new AsyncCommit(this, true));
public void run() { { if (_theAction != null) { /* * This is a transient thread so we don't * want to register it with the action it is * committing/aborting, only change its notion of the * current transaction so that any abstract * records that need that information can still * have it. */ ThreadActionData.pushAction(_theAction, false); if (_commit) doPhase2Commit(); else doPhase2Abort(); ThreadActionData.popAction(false); } } }
TwoPhaseCommitThreadPool.submitJob(new AsyncCommit(this, false)); } else && (parentAction == null)) TwoPhaseCommitThreadPool.submitJob(new AsyncCommit(this, true));
public void run() { { if (_theAction != null) { /* * This is a transient thread so we don't * want to register it with the action it is * committing/aborting, only change its notion of the * current transaction so that any abstract * records that need that information can still * have it. */ ThreadActionData.pushAction(_theAction, false); if (_commit) doPhase2Commit(); else doPhase2Abort(); ThreadActionData.popAction(false); } } }
TwoPhaseCommitThreadPool.submitJob(new AsyncCommit(this, false)); } else && (parentAction == null)) TwoPhaseCommitThreadPool.submitJob(new AsyncCommit(this, true));
public void run() { { if (_theAction != null) { /* * This is a transient thread so we don't * want to register it with the action it is * committing/aborting, only change its notion of the * current transaction so that any abstract * records that need that information can still * have it. */ ThreadActionData.pushAction(_theAction, false); if (_commit) doPhase2Commit(); else doPhase2Abort(); ThreadActionData.popAction(false); } } }