If you are handling your connections externally, it is your job to
clean them up.
On 2/9/06, Joel Costigliola <[EMAIL PROTECTED]> wrote:
>
> After some code investigation, I think that connection injected into
> session - with openSession(myConnection) - are not released when session
> is closed.
>
> Can anyone confirm that ? it's quite important for me to be sure of that
> point to convince people at my work to use iBatis.
>
> I think closing the session is important but it is still not clear what
> is done when session is closed.
> Where can I have some explanation about session closing mecanism ?
>
> Thanks for your help
>
> Joe
>
> ---- Messages d´origine ----
> De: Joel Costigliola <[EMAIL PROTECTED]>
> Date: mercredi, février 8, 2006 11:26 am
> Objet: Managing session opened with external connection
>
> > Hi all,
> >
> > I would like to use iBatis on my project. I have some constraints :
> > - I need to use a connection management mecanism external to iBatis.
> > - I need to use a transactionnal mecanism external to iBatis (not EJB
> > but another one).
> >
> > Following the javadoc example I have successfully inserted an
> > object in
> > database but I'm wondering if the javadoc example is relevant for
> > releasing resources.
> >
> > - do we have to close the session opened with an external
> > connection ?
> >
> > - if we close the session what will happen for the underlying
> > connection ?
> > is it closed ? (I would prefer not as connection is managed
> > externally !)
> >
> > here's the code sample from the javadoc of SqlMapClient.openSession
> > (Connection)
> > try {
> > Connection connection = dataSource.getConnection();
> > SqlMapSession session = sqlMap.openSession(connection);
> > // do work
> > connection.commit();
> > } catch (SQLException e) {
> > try {
> > if (connection != null) commit.rollback();
> > } catch (SQLException ignored) {
> > // generally ignored
> > }
> > throw e; // rethrow the exception
> > } finally {
> > try {
> > if (connection != null) connection.close();
> > } catch (SQLException ignored) {
> > // generally ignored
> > }
> > }
> >
> > by the way there is a typo mistake --> commit.rollback(); instead of
> > connection.rollback();
> >
> > Thanks for your advices !
> >
> > Joe
> >
> >
> >
> >
>