@Override protected void afterExecute(Runnable r, Throwable t) { super.afterExecute(r, t); try { JavaEETransactionManager tm = EjbContainerUtilImpl.getInstance().getTransactionManager(); if (tm.getTransaction() != null) { int st = tm.getStatus(); Logger logger = EjbContainerUtilImpl.getLogger(); logger.warning("NON-NULL TX IN AFTER_EXECUTE. TX STATUS: " + st); if (st == Status.STATUS_ROLLEDBACK || st == Status.STATUS_COMMITTED || st == Status.STATUS_UNKNOWN) { tm.clearThreadTx(); } else { tm.rollback(); } } } catch (Exception e) { e.printStackTrace(); } }
transactionManager.clearThreadTx();
transactionManager.clearThreadTx();
getTransactionManager().clearThreadTx();