try {
TxManager.begin();
// ...
TxManager.commit();
} catch (Exception e) {
TxManager.rollback();
} finally {
TxManager.close();
}
<txmanager>
<timeout>300</timeout>
<rollback-on>java.lang.Exception</rollback-on>
<recovery>
<enabled>true</enabled>
<recovery-dir>/path/to/recovery/directory</recovery-dir>
</recovery>
</txmanager>