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:[EMAIL PROTECTED]
Sent: Monday, May 09, 2005 4:05 PM
To: [email protected]
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 <[EMAIL PROTECTED]> 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:[EMAIL PROTECTED]]
>Sent: Monday, May 09, 2005 2:23 PM
>To: [email protected]
>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: [EMAIL PROTECTED]]
>>*Sent:* Monday, May 09, 2005 1:04 PM
>>*To:* [email protected]
>>*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* <[EMAIL PROTECTED]
>>    <mailto:[EMAIL PROTECTED]>> 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:[EMAIL PROTECTED]
>>            <mailto:[EMAIL PROTECTED]>]
>>            *Sent:* Saturday, May 07, 2005 9:30 PM
>>            *To:* [email protected]
>>            <mailto:[email protected] >
>>            *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* <[EMAIL PROTECTED]
>>            <mailto:[EMAIL PROTECTED]>> 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
>>                "[EMAIL PROTECTED]" 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?
>>
>>
>>
>>
>>
>
>
>
>

Reply via email to