ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tom Henricksen" <T...@A-t-g.com>
Subject RE: queryForList/Map/Object... rollbacks
Date Tue, 04 Mar 2008 23:20:12 GMT
Currently we are using JDBC with simple datasource.

 

<transactionManager type="JDBC">

            <dataSource type="SIMPLE">

 

But we are transitioning to JNDI datasource. 

 

This is just a web application.  I will take a look at the Wiki.

 

So is this default behavior of iBatis to create a transaction and roll
it back for even a select?

 

Would JTA change this?

 

Thanks,

Tom

 

 

-----Original Message-----
From: Jeff Butler [mailto:jeffgbutler@gmail.com] 
Sent: Tuesday, March 04, 2008 3:53 PM
To: user-java@ibatis.apache.org
Subject: Re: queryForList/Map/Object... rollbacks

 

What transaction manager are you using?

Is this an EJB application with CMT, or just a web application?

Have you read the information in the WIKI about configuring iBATIS on
WebSphere?

 

http://opensource.atlassian.com/confluence/oss/display/IBATIS/Environmen
t+Specific+Information

 

Jeff Butler



 

On Tue, Mar 4, 2008 at 3:32 PM, Tom Henricksen <TomH@a-t-g.com> wrote:

We are performance monitoring our application and my DBA let me know
that we had over 3 MILLION rollbacks in a single day.  We are using
WebSphere to DB2 on Win2k3 servers.

I looked in our code and could not find anything.  Used p6spy and found
that every time queryForXXX is called I received a rollback.  Stepping
through the queryForList code in SqlMapExecutorDelegate.java the
autoStartTransaction starts a transaction if none is present and since
we don't have commitRequired set, the autoEndTransaction will cause a
rollback.

I assume there is a good reason to start the transaction here.  It seems
like extra work creating a transaction that will always be rolled back.
Can someone explain why this is good to me so I can forward the
information to my DBA?  Any links supporting the argument would be
great.  Is there a way to use the queryForXXX without creating a
transaction?  I assume it is better to not have commitRequired?

Thanks for your time.

 

Tom Henricksen
Consultant
Advanced Technologies Group, Inc.

 

 


Mime
View raw message