_alarm.dequeue();
if (_interposedSynchronizations != null) {
// env/06a2
for (int i = 0; i < _interposedSynchronizations.size(); i++) {
Synchronization sync = _interposedSynchronizations.get(i);
try {
sync.beforeCompletion();
} catch (RuntimeException e) {
setRollbackOnly(e);
RollbackException newException = new RollbackException(e.toString());
newException.initCause(e);
throw newException;
} catch (Throwable e) {
log.log(Level.FINE, e.toString(), e);
}
}
}
// server/16h2
if (_synchronizations != null) {
// env/06a2
for (int i = 0; i < _synchronizations.size(); i++) {
//for (int i = _synchronizations.size() - 1; i >= 0; i--) {
Synchronization sync = _synchronizations.get(i);
if (log.isLoggable(Level.FINEST))
log.finest(this + " beforeCompletion " + sync);
try {
sync.beforeCompletion();
} catch (RuntimeException e) {
setRollbackOnly(e);
RollbackException newException = new RollbackException(e.toString());
newException.initCause(e);