portals-jetspeed-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "David Sean Taylor (JIRA)" <jetspeed-...@portals.apache.org>
Subject [jira] Created: (JS2-495) OJB + Spring Transactions broken
Date Fri, 10 Feb 2006 19:25:56 GMT
OJB + Spring Transactions broken
--------------------------------

         Key: JS2-495
         URL: http://issues.apache.org/jira/browse/JS2-495
     Project: Jetspeed 2
        Type: Bug
  Components: Persistence and DAO  
    Versions: 2.1-dev    
    Reporter: David Sean Taylor
 Assigned to: David Sean Taylor 
    Priority: Critical
     Fix For: 2.1-dev


I tried writing a unit test to test OJB + Spring transactions.
To my suprise, transactions are not starting.

In fact, Im seeing some surprising results in mysql.log
(yes Im using InnoDB), note no transactions, and the forced autocommit

118 Query       SET autocommit=1
117 Prepare     [1] INSERT INTO FOLDER...
117 Execute     [1] INSERT INTO FOLDER...        
117 Query       SET autocommit=1


It appears that OJB repeatedly sets autocommit=1
and
it never starts any transactions

Here is my unit test, which tests out a new 'fake' API addPage to the PageManager. This API
is temporary to test transactional behavior:

public void testTx() throws Exception
    {
        Folder root = pageManager.newFolder("/");
        pageManager.updateFolder(root);
        Page[] pages = new Page[3];
        pages[0] = pageManager.newPage("/test1.psml");
        pages[1] = pageManager.newPage("/test2.psml");
        pages[2] = pageManager.newPage("/test3.psml");
        try
        {
            pageManager.addPages(pages);
        }

In addPages, I try to force a rollback:

    public int addPages(Page[] pages)
    throws JetspeedException
    {
        System.out.println("Adding first page");
        this.updatePage(pages[0]);
        System.out.println("Adding second page");
        this.updatePage(pages[1]);
        System.out.println("About to throw ex");
        throw new JetspeedException("Its gonna blow captain!");
    }

Finally, add pages is enabled for a Spring tx:

                <prop key="addPages*">PROPAGATION_REQUIRED,-org.apache.jetspeed.exception.JetspeedException</prop>


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org


Mime
View raw message