public int doOnePhaseCommit () { int status = super.status(); // In JTA spec, beforeCompletions are run on commit attempts only, not rollbacks. // We attempt to mimic that here, even though we are outside the scope of the spec. // note it's not perfect- async timeout/rollback means there is a race condition in which we // can still call beforeCompletion on rollbacks, but that's not too bad as skipping it is really // just an optimization anyhow. JBTM-429 if (status == ActionStatus.ABORT_ONLY || doBeforeCompletion()) { status = super.End(true); } else { status = ActionStatus.ABORTED; } afterCompletion(status); return status; }
public int doOnePhaseCommit () { int status = super.status(); // In JTA spec, beforeCompletions are run on commit attempts only, not rollbacks. // We attempt to mimic that here, even though we are outside the scope of the spec. // note it's not perfect- async timeout/rollback means there is a race condition in which we // can still call beforeCompletion on rollbacks, but that's not too bad as skipping it is really // just an optimization anyhow. JBTM-429 if (status == ActionStatus.ABORT_ONLY || doBeforeCompletion()) { status = super.End(true); } else { status = ActionStatus.ABORTED; } afterCompletion(status); TransactionReaper.transactionReaper().remove(this); return status; }
public int doOnePhaseCommit () { int status = super.status(); // In JTA spec, beforeCompletions are run on commit attempts only, not rollbacks. // We attempt to mimic that here, even though we are outside the scope of the spec. // note it's not perfect- async timeout/rollback means there is a race condition in which we // can still call beforeCompletion on rollbacks, but that's not too bad as skipping it is really // just an optimization anyhow. JBTM-429 if (status == ActionStatus.ABORT_ONLY || doBeforeCompletion()) { status = super.End(true); } else { status = ActionStatus.ABORTED; } afterCompletion(status); TransactionReaper.transactionReaper().remove(this); return status; }
public int doOnePhaseCommit () { int status = super.status(); // In JTA spec, beforeCompletions are run on commit attempts only, not rollbacks. // We attempt to mimic that here, even though we are outside the scope of the spec. // note it's not perfect- async timeout/rollback means there is a race condition in which we // can still call beforeCompletion on rollbacks, but that's not too bad as skipping it is really // just an optimization anyhow. JBTM-429 if (status == ActionStatus.ABORT_ONLY || doBeforeCompletion()) { status = super.End(true); } else { status = ActionStatus.ABORTED; } afterCompletion(status); TransactionReaper.transactionReaper().remove(this); return status; }
public int doOnePhaseCommit () { int status = super.status(); // In JTA spec, beforeCompletions are run on commit attempts only, not rollbacks. // We attempt to mimic that here, even though we are outside the scope of the spec. // note it's not perfect- async timeout/rollback means there is a race condition in which we // can still call beforeCompletion on rollbacks, but that's not too bad as skipping it is really // just an optimization anyhow. JBTM-429 if (status == ActionStatus.ABORT_ONLY || doBeforeCompletion()) { status = super.End(true); } else { status = ActionStatus.ABORTED; } afterCompletion(status); TransactionReaper.transactionReaper().remove(this); return status; }
public int doOnePhaseCommit () { int status = super.status(); // In JTA spec, beforeCompletions are run on commit attempts only, not rollbacks. // We attempt to mimic that here, even though we are outside the scope of the spec. // note it's not perfect- async timeout/rollback means there is a race condition in which we // can still call beforeCompletion on rollbacks, but that's not too bad as skipping it is really // just an optimization anyhow. JBTM-429 if (status == ActionStatus.ABORT_ONLY || doBeforeCompletion()) { status = super.End(true); } else { status = ActionStatus.ABORTED; } afterCompletion(status); TransactionReaper.transactionReaper().remove(this); return status; }
public int doOnePhaseCommit () { int status = super.status(); // In JTA spec, beforeCompletions are run on commit attempts only, not rollbacks. // We attempt to mimic that here, even though we are outside the scope of the spec. // note it's not perfect- async timeout/rollback means there is a race condition in which we // can still call beforeCompletion on rollbacks, but that's not too bad as skipping it is really // just an optimization anyhow. JBTM-429 if (status == ActionStatus.ABORT_ONLY || doBeforeCompletion()) { status = super.End(true); } else { status = ActionStatus.ABORTED; } afterCompletion(status); TransactionReaper.transactionReaper().remove(this); return status; }