public synchronized void resume() { PausedTransaction pt = getPausedTransaction(); if (pt != null && !pt.isResumed()) { pt.setResumed (true); pt.getTransactionManager().push (this); } else { resumeOnPause = true; } } public boolean isTrace() {
@Override public void run() { cancel(); PausedTransaction paused = context.getPausedTransaction(); if (paused.getTransactionManager().abortOnPauseTimeout) paused.forceAbort(); context.resume(); } }
private void notifyStatusListeners (int session, TransactionStatusEvent.State state, long id, String info, Serializable context) { TransactionStatusEvent e = new TransactionStatusEvent(session, state, id, info, context); synchronized (statusListeners) { for (TransactionStatusListener l : statusListeners) { l.update (e); } } } private void setThreadName (long id, String method, TransactionParticipant p) {
public void commit (long id, Serializable o) { Context ctx = (Context) o; ctx.log ("TestPausedParticipant commit has been called, id: " + id); } public void abort (long id, Serializable o) {
public int prepare (long id, Serializable o) { Context ctx = (Context) o; ctx.checkPoint ("prepare:" + trace); return PREPARED | READONLY; } public void commit (long id, Serializable o) {
public void setTrace(boolean trace) { if (trace) getProfiler(); this.trace = trace; }
@Override public void run () { ctx.resume(); } }
/** * Called by TransactionManager in preparation for a transaction * that is known to abort. * * @param id the Transaction identifier * @param context transaction context * @return 0 [| NO_JOIN | READONLY) */ default int prepareForAbort(long id, Serializable context) { return prepare (id, context); } }
public int prepare (long id, Serializable o) { final Context ctx = (Context) o; new Thread() { public void run() { ISOUtil.sleep (1000); txnmgr.queue (ctx); // re-inject paused transaction } }.start(); return PREPARED | PAUSE; } public void commit (long id, Serializable o) {
public void abort (long id, Serializable o) { Context ctx = (Context) o; ctx.checkPoint ("abort:" + trace); } public int prepareForAbort (long id, Serializable o) {
public void expired (Object handBack) { Context ctx = (Context) handBack; ctx.resume(); } public void setConfiguration (Configuration cfg) throws ConfigurationException {
public int prepareForAbort (long id, Serializable o) { Context ctx = (Context) o; ctx.checkPoint ("prepareForAbort:" + trace); return PREPARED | READONLY; } public void setConfiguration (Configuration cfg) {
public void commit (long id, Serializable o) { Context ctx = (Context) o; ctx.checkPoint ("commit:" + trace); } public void abort (long id, Serializable o) {