geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lin Sun (JIRA)" <j...@apache.org>
Subject [jira] Created: (GERONIMO-4449) Transaction.rollback method also calls beforeCompletion
Date Thu, 04 Dec 2008 21:52:44 GMT
Transaction.rollback method also calls beforeCompletion
-------------------------------------------------------

                 Key: GERONIMO-4449
                 URL: https://issues.apache.org/jira/browse/GERONIMO-4449
             Project: Geronimo
          Issue Type: Bug
      Security Level: public (Regular issues)
          Components: transaction manager
    Affects Versions: 2.2
            Reporter: Lin Sun
            Assignee: Lin Sun


Per JTA 1.1 spec, page 33:

The beforeCompletion method is called by the transaction manager prior to the start of the
two-phase 
transaction commit process.This call is executed with the transaction context of the transaction
that is being 
committed.   An unchecked exception thrown by a registered Synchronization object causes the
transaction to 
be aborted. That is, upon encountering an unchecked exception thrown by a registered synchronization

object, the transaction manager must mark the transaction for rollback.

The spec seems to indicate that beforeCompletion is not called during rollback, but afterCompletion
is called during(or after) both rollback and commit.

So I expect the following to pass:

{code}
    public void testNormalSynchIsNotCalledOnRollback() throws Exception {
    	normalSync = new CountingSync();
    	tm.begin();
    	tm.getTransaction().registerSynchronization(normalSync);
        tm.rollback();
        assertFalse(normalSync.beforeCompletionCalled());
        assertTrue(normalSync.afterCompletionCalled());
    }

{code}

In geronimo, we call beforeCompletion inside of the rollback method in TransactionImpl.java,
which seems incorrect to me.

Thoughts?

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


Mime
View raw message