ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jeff Butler" <jeffgbut...@gmail.com>
Subject Re: Autocommit not properly handled in Ibatis.
Date Fri, 19 Jan 2007 13:32:34 GMT
What is the getSession() method doing?  I'll wager that it is actually
creating a new session everytime it is called.  This would explain the
error.  Is there some reason you are trying to use the session directly?  We
hope and expect that this is a rarely used feature in iBATIS.

I echo the call for a more complete code example.

Jeff Butler


On 1/19/07, Yuvraj Shinde <Yuvraj.Shinde@sos.sungard.com> wrote:
>
>
> Hi,
>
> For good data also it is also throwing exception in EndTransaction.
>
> I debugged the code it is throwing exception on
> session.endTransaction();
>
> ie   throw new TransactionException("TransactionManager could not
> commit.
>   No transaction is started.");
>
> in commit method of TransactionManager.java at line no 80.
> Do you have any idea.
>
> Regards
> yuvrajs
>
>
>
>
> -----Original Message-----
> From: Giovanni Cuccu - CUP2000 [mailto:giovanni.cuccu@cup2000.it]
> Sent: Friday, January 19, 2007 5:15 PM
> To: user-java@ibatis.apache.org
> Subject: Re: Autocommit not properly handled in Ibatis.
>
> In your code the message for the exception is the same so did you check
> what is causing the exception?
> If you get an exception while calling endTransaction() (and after
> getting a previous exception) meaning that ibatis cannot rollback there
> is a chance that you are hitting the default behaviour of the oracle
> jdbc driver i.e. commit while exiting the progam.
> Giovanni
> P.S. I think if you can post a simple complete test case (with objects ,
>
> sql for creating the test table, etc) the cause of the problem should
> emerge quickly.
>
> > Hi Clinton,
> >
> > Thanks for replying early.
> >
> > Following is the saveAllRecords which save the list passed.
> > List contain the BasicDTO which is serialisable.
> >
> >
> > Suppose I have two DTO in list. First DTO is saved successfully and if
> I
> > get exception while saving second DTO , the First DTO which is saved
> > earlier should get roll backed. But this is not happening ibatis is
> > saving first DTO.i have set auto commit to false. What change I should
> > make in order to properly roll back the transaction.
> >
> >
> >       public void saveAllRecords( String id, List recordList )
> >       {
> >               try
> >               {
> >               getSession().startTransaction();
> >                       if (!recordList.isEmpty())
> >                       {
> >                               for (int i = 0; i < recordList.size();
> > i++)
> >
> >                               {
> >                            BasicDTO basicDTO = (BasicDTO)
> > recordList.get(i);
> >                                  getSession().insert(id +"_INSERT",
> > basicDTO);
> >                               }
> >
> >                       }
> >               getSession().commitTransaction();
> >
> >               }
> >               catch (SQLException e)
> >               {
> >                       throw new RuntimeException("Error while
> > Excecuting Batch"                             + e);
> >               }
> >               finally
> >               {
> >                       try
> >                       {
> >                          getSession().endTransaction();
> >                       }
> >                       catch (SQLException e)
> >                       {
> >                               throw new RuntimeException("Error while
> > Excecuting                            Batch" + e);
> >
> >                       }
> >               }
> >
> >       }
> >
> >
> >
> >
> >
> >
> >
> > Regards
> >  yuvraj
> >
> >
>
> >>
> >> 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 * www.sungard.com
> >>
> >>
> >>
> >>
> >> Success is never ending and failure is never final.
> >>
> >>
> >
> >
> >
> >
>
>
> --
> Giovanni Cuccu
> CUP 2000 Spa
> Via del Borgo di S. Pietro, 90/c - 40126 Bologna
> e-mail: giovanni.cuccu _at_ cup2000.it
>
>
>

Mime
View raw message