You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by "David Jencks (JIRA)" <ji...@apache.org> on 2010/08/24 21:50:19 UTC

[jira] Created: (OPENEJB-1342) Exception thrown from tx cleanup in finally block supresses cause

Exception thrown from tx cleanup in finally block supresses cause
-----------------------------------------------------------------

                 Key: OPENEJB-1342
                 URL: https://issues.apache.org/jira/browse/OPENEJB-1342
             Project: OpenEJB
          Issue Type: Bug
          Components: container system
    Affects Versions: 3.2
            Reporter: David Jencks


If you have code like this in a bean-managed tx ejb:

ut.begin();
throw new RuntimeException("unexpected error");
ut.commit();

then code like this, present in all the containers, will suppress the runtime exception in favor of an uninformative message that you failed to end the transaction:

(from SingletonInstanceManager)
{code}
            try{
                //Call the chain
                interceptorStack.invoke();                
            } catch(Throwable e) {
                //RollBack Transaction
                EjbTransactionUtil.handleSystemException(transactionPolicy, e, callContext);
            }
            finally{
                EjbTransactionUtil.afterInvoke(transactionPolicy, callContext); // this throws the uninformative exception
            }
{code}
Just about every use of EjbTransactionUtil.afterInvoke suffers from this problem.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.