private void commitDirect(TransactionContext context)
throws XATransactionException {
try {
transactionManager.commit();
} catch (SecurityException e) {
throw new XATransactionException(e);
} catch (RollbackException e) {
throw new XATransactionException(e);
} catch (HeuristicMixedException e) {
throw new XATransactionException(e);
} catch (HeuristicRollbackException e) {
throw new XATransactionException(e);
} catch (SystemException e) {
throw new XATransactionException(e);
} finally {
transactions.removeTransactionContext(context);
}
}