On Mar 13, 2007, at 3:04 PM, Larry Meadors wrote:

Are you using MySQL w/o innodb, or some other database that is not
transaction aware?

Ahh ... that may be the issue. I'm using MySQL version 5.0.27- standard. I assumed that all newer versions of MySQL were transaction aware. Is that wrong? Perhaps I need to download a different version.

Larry


On 3/13/07, Mark Volkmann <[EMAIL PROTECTED]> wrote:
I seem to be getting automatic transactions when I use Spring DAOs
generated by Abator even though my SqlMapConfig.xml contains the
following.

   <transactionManager type="JDBC">
     <dataSource type="SIMPLE">
...

Here's the simple bit of code I'm using to test this. The change to
addressId is persisted even though a RunTime exception is thrown
inside the try and commitTransaction is not called. Any idea what I
might be doing wrong?

     boolean problem = true;
     Person person = personDAO.selectByPrimaryKey(markId);
     SqlMapClient smc = ((SqlMapClientDaoSupport)
personDAO).getSqlMapClient();
     try {
       smc.startTransaction();

       person.setAddressId(addressId);
       personDAO.updateByPrimaryKey(person);
       System.out.println("updated address"); // This is output.

       // What happens if an exception occurs here?
       if (problem) throw new RuntimeException("something bad
happened");

       person.setHomePhoneId(homePhoneId);
       personDAO.updateByPrimaryKey(person);
System.out.println("updated home phone"); // This isn't output.

       smc.commitTransaction();
     } finally {
       smc.endTransaction();
     }


Reply via email to