package org.hypergraphdb.transaction; /** * * <p> * This exception is to be thrown by application code to force aborting * the current transaction within a transaction closure. * </p> * * <p> * When using the {@link HGTransactionManager.transact} method, one supplies * a transaction closure, a {@link Callable} instance that perform the transaction * work. However, the <code>transact</code> will always attempt to commit the * transaction upon return from the user supplied <code>Callable</code>. If the * application decides to abort the transaction <strong>without retrying it</strong>, it should throw * this exception instead of calling {@link HGTransactionManager.abort}. The alternative * would be for the application to implement its own transaction retry loop, which is * longer and error prone. * </p> * * @author Borislav Iordanov * */ public class HGUserAbortException extends RuntimeException { private static final long serialVersionUID = 6432485442575625321L; }