All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.prevayler.implementation.NondeterministicErrorTransaction Maven / Gradle / Ivy

The newest version!
package org.prevayler.implementation;

import java.util.Date;

public class NondeterministicErrorTransaction extends Appendix {

	private static final long serialVersionUID = 1L;

    private static int _timeToDetonation = 0;

	public static synchronized void armBomb(int timeToDetonation) {
		_timeToDetonation = timeToDetonation;
	}

	private static synchronized void triggerBomb() {
		if (_timeToDetonation > 0 && --_timeToDetonation == 0) {
			throw new Error("BOOM!");
		}
	}

	public NondeterministicErrorTransaction(String toAdd) {
		super(toAdd);
	}

	public void executeOn(Object prevalentSystem, Date executionTime) {
		triggerBomb();
		super.executeOn(prevalentSystem, executionTime);
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy