package org.multiverse.api.exceptions; /** * A {@link ControlFlowError} thrown when an explicit retry is done on a {@link org.multiverse.api.Txn}. * With the {RetryError} it is possible to create blocking transactions. * * <p>An example is a transaction wants to pop an item from an empty queue. The Retry is caught by the transaction * handling logic (e.g the {@link org.multiverse.api.TxnExecutor} and blocks until either a timeout happens or * an item is placed on the queue. * * @author Peter Veentjer. * @see org.multiverse.api.Txn#retry() */ public class RetryError extends ControlFlowError { private static final long serialVersionUID = 0; public final static RetryError INSTANCE = new RetryError(false); /** * Creates a new Retry Error. * * @param fillStackTrace if the StackTrace should be filled. */ public RetryError(boolean fillStackTrace) { super(fillStackTrace); } }