ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christopher Lamey <cla...@localmatters.com>
Subject Re: queryForList/Map/Object... rollbacks
Date Wed, 05 Mar 2008 00:07:23 GMT
That is not the default iBATIS behavior, I'm guessing your container is
getting involved.

>From what I understand, the SIMPLE datasource type is generally for
standalone programs, not for apps running in a container.

On 3/4/08 4:20 PM, "Tom Henricksen" <TomH@A-t-g.com> wrote:

> 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