ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Albert L Sapp <as...@uiuc.edu>
Subject Re: Autocommit not properly handled in Ibatis.
Date Mon, 22 Jan 2007 17:07:24 GMT
Cornel,

Uh, doesn't it say that if autocommit is disabled that commit must be 
called for the changes to commit.  If that is the case, you call commit 
during the transaction if no exception is thrown and do endTransaction 
in you catch an exception.  The database getting no explicit commit 
rolls back the current changes at the end of the transaction.  It seems 
to work for us that way, but we do not directly work with the 
connection.  We use the DAO transaction processing.

Maybe someone will correct me if I am wrong.

Al

Cornel Antohi wrote:
> Hi Richard,
>  
> I do not agree with you:
> http://java.sun.com/j2se/1.3/docs/api/java/sql/Connection.html#setAutoCommit(boolean

> <http://java.sun.com/j2se/1.3/docs/api/java/sql/Connection.html#setAutoCommit%28boolean>)
>  
> Thank you,
> Cornel
>
>     ----- Original Message -----
>     *From:* Yee, Richard K CTR DMDC
>     <mailto:Richard.Yee.ctr@osd.pentagon.mil>
>     *To:* 'user-java@ibatis.apache.org'
>     <mailto:%27user-java@ibatis.apache.org%27>
>     *Sent:* Monday, January 22, 2007 6:42 PM
>     *Subject:* RE: Autocommit not properly handled in Ibatis.
>
>     Antohi,
>     It looks to me that the code does exactly what Clinton says. If
>     autocommit is on, iBATIS turns it off and thus does not use
>     autocommit to commit changes to the DB.
>      
>     -Richard
>      
>
>         -----Original Message-----
>         *From:* Cornel Antohi [mailto:cantohi@kepler-rominfo.com]
>         *Sent:* Monday, January 22, 2007 2:37 AM
>         *To:* user-java@ibatis.apache.org
>         <mailto:user-java@ibatis.apache.org>
>         *Subject:* Re: Autocommit not properly handled in Ibatis.
>
>         Hi Clinton,
>          
>         1) What do you mean by "iBATIS never uses AutoCommit"? Here is
>         what I found in:
>
>         com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction -->
>         private void init() throws SQLException, TransactionException
>
>         // AutoCommit
>         if (connection.getAutoCommit()) {
>             connection.setAutoCommit(false);
>         }
>          
>          
>         Thank you,
>         Cornel
>          
>         ----- Original Message -----
>         From: "Clinton Begin" <clinton.begin@gmail.com
>         <mailto:clinton.begin@gmail.com>>
>         To: <user-java@ibatis.apache.org
>         <mailto:user-java@ibatis.apache.org>>
>         Sent: Friday, January 19, 2007 8:52 AM
>         Subject: Re: Autocommit not properly handled in Ibatis.
>
>         A few things:
>
>         1) iBATIS never uses AutoCommit.
>
>         2) setCommitRequired has nothing to do with AutoCommit. 
>         iBATIS uses
>         deferred commits to avoid unecessary commits when no
>         non-queries have
>         been issued.  And setCommitRequired is actually parameterized
>         and can
>         be set with <transactionManager ... commitRequired="true">
>
>         3) You'll need to post your code so we can see what it's
>         doing.  Are
>         you calling startTransaction()?  Are you using
>         setUserConnection?  Or
>         openSession(conn)?
>
>         I'm sure with the right information we can resolve this for
>         you easily.
>
>         Clinton
>
>         On 1/18/07, Yuvraj Shinde <Yuvraj.Shinde@sos.sungard.com
>         <mailto:Yuvraj.Shinde@sos.sungard.com>> wrote:
>         >
>         >
>         >
>         >
>         > Hi all,
>         >
>         >
>         >
>         >    I want to know how to handle auto commit in ibatis.if I
>         am saving two
>         > records and if I get an exception while saving second record
>         the first
>         > record saved should be rolled back.
>         >
>         >   But ibatis is saving the first record. How I should handle
>         this even
>         > though the auto commit property is explicitly set to false.
>         >
>         >
>         >
>         >    Even though AutoCommit value is set to false. Rollback of
>         Transaction is
>         > not working.
>         >
>         >    I found one Issue in GeneralStatement.java.
>         >
>         >    On line 52  request.getSession().setCommitRequired(true);
>         >
>         >
>         >
>         >    Here Auto commit is hard coded it should be parameterized
>         so that it will
>         > take value from "Auto commit" property of  SqlMapConfig.xml.
>         >
>         >    Please correct me if I am wrong.please send me a solution.
>         >
>         >
>         >
>         > Regards
>         >
>         > Yuvrajs
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         >
>         > Yuvraj Shinde * Senior Software Engineer -  Zainet*  SunGard
>         * Offshore
>         > Services *
>         >  Pride Portal,CTS No 103A/5A/1A/1B Bhamburda,Senapati Bapat
>         Road,
>         > shivajinagar,Pune 411016
>         >  Tel Direct +91 20 66248045 * Main +91 20 66248000 * Fax +91
>         20 25606222
>         >  yuvraj.shinde@sos.sungard.com
>         <mailto:yuvraj.shinde@sos.sungard.com> * www.sungard.com
>         <http://www.sungard.com>
>         >
>         >
>         >
>         >
>         > Success is never ending and failure is never final.
>         >
>         > 
>


Mime
View raw message