Mercurial > hg > blitz_condensed
view src/org/dancres/blitz/txn/CheckpointTask.java @ 33:0b9265358617
Added tag 2.1.1 for changeset a77f0a9ed93c
author | Dan Creswell <dan.creswell@gmail.com> |
---|---|
date | Sat, 12 Jun 2010 10:52:10 +0100 |
parents | 3dc0c5604566 |
children |
line wrap: on
line source
package org.dancres.blitz.txn; import java.io.IOException; import java.util.logging.Level; import org.dancres.blitz.task.Task; class CheckpointTask implements Task { private boolean isDone = false; private IOException theIOE = null; public void run() { try { TxnManager.get().requestAsyncCheckpoint(); } catch (IOException anIOE) { TxnManager.theLogger.log(Level.SEVERE, "Checkpoint failed to complete", anIOE); theIOE = anIOE; } synchronized(this) { isDone = true; notify(); } } void waitForCompletion() throws IOException { synchronized(this) { while (!isDone) { try { wait(); } catch (InterruptedException anIE) { TxnManager.theLogger.log(Level.SEVERE, "Failed to wait for checkpoint completion", anIE); } } if (theIOE != null) throw theIOE; } } }