ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rafiq, Adnan" <ara...@carreker.com>
Subject RE: Possible Connection Leak
Date Tue, 10 May 2005 17:00:08 GMT
So, if I have an interface MyDao with an implementation class called
MyDaoImpl, what you are saying is that I should never start/commit/end
transactions in the MyDaoImpl class. 
 
But, if we start referring to iBatis classes from outside the Dao, wouldn't
that defeat the purpose of using a Dao pattern in the first place?

-----Original Message-----
From: Clinton Begin [mailto:clinton.begin@gmail.com]
Sent: Monday, May 09, 2005 4:05 PM
To: ibatis-user-java@incubator.apache.org
Subject: Re: Possible Connection Leak


And just to answer another question....

NEVER call start/commit/end transaction methods from WITHIN your DAO.

Cheers,
Clinton


On 5/9/05, Henry Lu < zhlu@umich.edu <mailto:zhlu@umich.edu> > wrote: 

Exactly.

-Henry

Ming Xue wrote:

>Do you mean I do not need Transaction in SqlMap at all (removing the
>TransactionManager tag) ?
>
>Thanks for any clarification.
>
>-----Original Message----- 
>From: Henry Lu [mailto: zhlu@umich.edu <mailto:zhlu@umich.edu> ]
>Sent: Monday, May 09, 2005 2:23 PM
>To: ibatis-user-java@incubator.apache.org
<mailto:ibatis-user-java@incubator.apache.org> 
>Subject: Re: Possible Connection Leak
>
>
>No. You config JNDI in the spring.xml instead.
>
>-Henry
>
>Ming Xue wrote:
>
>
>
>>Hi
>> 
>>I am using the SpringDAO framework,  basically the SqlMapDAOSupport
>>and SqlMapTemplate,  the Transaction is acturally controlled by
>>Spring,  in this case, how should I config the transaction of SqlMap, 
>>should I use External Type ?
>>
>>  <transactionManager type="EXTERNAL">
>>    <dataSource type="JNDI">
>>      <property name="DataSource" value="java:/PlateauDS"/> 
>>    </dataSource>
>>  </transactionManager>
>>
>>Here is my DAO
>>
>>public class MyDAO extends SqlMapDAOSupport implements MyDAOService
>>
>>{
>>    public void myMethod () {
>>
>>        getSqlMapClientTemplate().insert("insertAccount", account);
>>
>>    }
>>
>>}
>>
>>The transaction is started in the EJB level, which calls the DAO, and
>>a EJB may call any number of DAO to do the job, in this case,
>>do I need to put in the SQLMap.startTransaction  in the DAO code ? 
>>
>>Thanks
>>Ming
>>
>>
>>
>>
>>[Ming Xue]
>>
>>
>> -----Original Message-----
>>*From:* Clinton Begin [mailto: clinton.begin@gmail.com
<mailto:clinton.begin@gmail.com> ]
>>*Sent:* Monday, May 09, 2005 1:04 PM
>>*To:* ibatis-user-java@incubator.apache.org
<mailto:ibatis-user-java@incubator.apache.org> 
>>*Subject:* Re: Possible Connection Leak
>>
>>    Yes, the approach I suggested should be used regardless of your
>>    transaction type.
>>
>>    Cheers,
>>    Clinton 
>>
>>    On 5/9/05, *Rafiq, Adnan* < arafiq@carreker.com
<mailto:arafiq@carreker.com> 
>>    <mailto: arafiq@carreker.com <mailto:arafiq@carreker.com> >> wrote:
>>
>>        Thanks Clinton.
>>
>>        We are using session beans to manage transactions in our
>>        application. Moreover, since we have multiple databases
>>        involved we are using XA- drivers. 
>>
>>        Will the approach you mentioned still work in this scenario?
>>
>>            -----Original Message-----
>>            *From:* Clinton Begin [mailto: clinton.begin@gmail.com
<mailto:clinton.begin@gmail.com> 
>>            <mailto: clinton.begin@gmail.com
<mailto:clinton.begin@gmail.com> >]
>>            *Sent:* Saturday, May 07, 2005 9:30 PM 
>>            *To:* ibatis-user-java@incubator.apache.org
<mailto:ibatis-user-java@incubator.apache.org> 
>>            <mailto: ibatis-user-java@incubator.apache.org
<mailto:ibatis-user-java@incubator.apache.org> >
>>            *Subject:* Re: Possible Connection Leak
>>
>>
>>            Do ALL of your SqlMap calls follow this pattern:
>>
>>            try {
>>               sqlMap.startTransaction();
>>              //...do work
>>              sqlMap.commitTransaction();
>>            } finally {
>>              sqlMap.endTransaction();
>>            } 
>>
>>            Clinton
>>
>>
>>            On 5/6/05, *Rafiq, Adnan* < arafiq@carreker.com
<mailto:arafiq@carreker.com> 
>>            <mailto: arafiq@carreker.com <mailto:arafiq@carreker.com> >>
wrote:
>>
>>                I am using a transaction manager type = JTA in my
>>                sql-map-config.xml file.
>>                After running the application for a while, I am
>>                getting the following
>>                message in my Weblogic 8.1 console:
>>
>>                <May 6, 2005 5:09:08 PM CDT> <Warning> <Common>
>>                <BEA-000620> <Forcibly
>>                releasing
>>                inactive resource
>>                "weblogic.jdbc.common.internal.ConnectionEnv@57bebf" back
>>                into the pool "TP_BOFA_SYS".>
>>
>>                According to BEA, there is a connection leak
>>                somewhere. Is it possible that
>>                iBatis is not properly closing a connection after
>>                obtaining it?
>>
>>                Has anyone else come across a similar issue?
>>
>>
>>
>>
>>
>
>
>
>




Mime
View raw message