ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Renato Silveira" <renatosilve...@gmail.com>
Subject Re: Conections Opened
Date Fri, 11 Aug 2006 15:49:21 GMT
Jeff,

That is exactly what I´m doing. Only if I startTransaction I use the
endTransation in the other cases, Ibatis should do it, right?

When I startUp Ibatis (create the first instance of DaoManager Class). The
connections of the pool should be opened? Because, it´s not happening. Only
when I call a method like a queryForObject one it´s opened. Is that right?

I´m building an persistence API using Ibatis. In my standalone tests when I
call a method it open a new connection. If make a second call the app uses
the same connection. That´s ok. But using this in a webapp it seens to
create a new connection for every single call.

This is how my sql-map-config is configured.

<transactionManager type="JDBC">
    <dataSource type="DBCP">
      <property value="${database_driver}" name=" JDBC.Driver"/>
      <property value="${database_url}" name="JDBC.ConnectionURL"/>
      <property value="${database_user}" name="JDBC.Username"/>
      <property value="${database_password}" name=" JDBC.Password"/>
      <property value="10" name="Pool.MaximumActiveConnections"/>
      <property value="5" name="Pool.MaximumIdleConnections"/>
      <property value="6000" name=" Pool.MaximumWait"/>
    </dataSource>
  </transactionManager>

tks!



On 8/11/06, Jeff Butler <jeffgbutler@gmail.com> wrote:
>
> iBATIS handles opening and closing of connections automatically - this is
> one of the reasons you use a framework like iBATIS!  You only need to close
> a connection if you open it explicitly (vary rare in iBATIS).
>
> You do need to end transactions, but again only if you start
> transactions.  If you don't write a startTransaction method, then the
> transaction is automatic and you don't need to write an endTransaction
> method.
>
> So something else is strange here.
>
> Jeff Butler
>
>
>
>
>
> On 8/11/06, Chen, Tim <Tim.Chen@nielsenmedia.com> wrote:
> >
> >  you have to close it explicitly. look at ibatis examples and you'll see
> > how.
> >
> >  ------------------------------
> >  *From:* Renato Silveira [mailto:renatosilveira@gmail.com]
> > *Sent:* Friday, August 11, 2006 10:55 AM
> >
> > *To:* user-java@ibatis.apache.org
> > *Subject: * Re: Conections Opened
> >
> >
> >  1) This is the code of my AdStandardDAO.selectAdStandards()
> >    public Collection<AdStandard> selectAdStandards() throws DaoException
> > {
> >         return queryForList("AD_STANDARD.selectAdStandards", null);
> >     }
> >
> > Does Ibatis open/closes the connection by it´s own?  Should I close
> > explicit? How do I do that?
> >
> > 2) The MaxNumber of connections is 20. The error ocurrs when this is
> > reached.
> >
> > tks!
> >
> >
> >
> > On 8/11/06, Chen, Tim <Tim.Chen@nielsenmedia.com > wrote:
> > >
> > >  1) I dont know about daoMgr. You should check the AdStandardDAO code
> > > for selectAdStandards() and make sure that it closes the connection that it
> > > gets.
> > > 2) yes
> > > 3) you didn't answer my question lol. you need to see how many active
> > > connections the dba has given you and how many are open when the error
> > > occurs.
> > > 4) i'm not sure why not.. look up creating a connection pool in jetty.
> > >
> > >  ------------------------------
> > >  *From:* Renato Silveira [mailto:renatosilveira@gmail.com]
> > > *Sent:* Friday, August 11, 2006 10:22 AM
> > >
> > > *To:* user-java@ibatis.apache.org
> > > *Subject:* Re: Conections Opened
> > >
> > >
> > >  1) In querys that involves transactions I use daoMgr.StartTransactionand always
> > > daoMgr.EndTransaction. But in simple querys like above, Do I need to
> > > daoMgr.EndTransation?
> > >
> > > try{
> > >             adStandardDAO = (AdStandardDAO) daoMgr.getDao(
> > > AdStandardDAO.class);
> > >             return adStandardDAO.selectAdStandards();
> > >         }
> > >         catch(DaoException e)
> > >         {
> > >             throw new ServiceException(e);
> > >         }
> > >
> > > 2) have you tried playing with maxRequests in <settings>?
> > > No, should I do this in SQL-MAP-Config ?
> > >
> > > 3) In SQL-MAP-Config I set maxActive in 10.
> > >
> > > 4) The container we are using is jetty. Do you know any problem
> > > related with this container? For a while we can´t use JNDI. :(.
> > >
> > > When I startup Ibatis (create a instance of DaoMgr), should it open
> > > the InitialSize number of connections? Because it´s not creating. Only if
I
> > > call a query.
> > >
> > > tks!
> > >
> > >
> > >
> > >
> > >
> > > On 8/11/06, Chen, Tim <Tim.Chen@nielsenmedia.com > wrote:
> > > >
> > > >  1) have you closed your connections in a finally block? opening a
> > > > new connection for each call is sever.. it *should* be getting some
> > > > connections from the pool.
> > > > 2) have you tried playing with maxRequests in <settings>?
> > > > 3) how many connections before the error msg? (have a dba check for
> > > > you if you aren't sure) is it possible that you just have the limit set
too
> > > > high?
> > > > 4) if all else fails use a JNDI connection and setup the connection
> > > > pool within your container.
> > > >
> > > >  ------------------------------
> > > >  *From:* Renato Silveira [mailto:renatosilveira@gmail.com]
> > > > *Sent:* Friday, August 11, 2006 9:52 AM
> > > >
> > > > *To:* user-java@ibatis.apache.org
> > > > *Subject:* Re: Conections Opened
> > > >
> > > >
> > > >  I still have this problem. Every single call I made a new
> > > > connection is opened. The DaoManager is started just one time. And the
> > > > connection remain opened for a  long time until oracle returns a error
of
> > > > max number of connections opened.
> > > >
> > > > Any ideas to solve this problem?
> > > >
> > > > tks!
> > > >
> > > >
> > > >
> > > >
> > > > On 8/11/06, Mkhitaryan, Aram <Aram.Mkhitaryan@lycos-europe.com >
> > > > wrote:
> > > > >
> > > > >   When you do first call DBCP creates minimum number of
> > > > > connections
> > > > >
> > > > > and uses these connections until all connections are
> > > > > busy(active/running) and new connection is created.
> > > > >
> > > > >
> > > > >
> > > > > If you compare first call and second, the first one should take
> > > > > much time then second one.
> > > > >
> > > > >
> > > > >
> > > > > But if "every call I do a new connection is created " that only
> > > > > can mean that your calls are too fast and DBCP
> > > > >
> > > > > can't create connections automatically and creates during call.
> > > > >
> > > > >
> > > > >
> > > > > Best,
> > > > >
> > > > > Aram
> > > > >
> > > > >
> > > > >  ------------------------------
> > > > >
> > > > > *From:* Renato Silveira [mailto: renatosilveira@gmail.com]
> > > > > *Sent: *Friday, August 11, 2006 3:45 AM
> > > > > *To:* user-java@ibatis.apache.org
> > > > > * Subject:* Re: Conections Opened
> > > > >
> > > > >
> > > > >
> > > > > Hi,
> > > > >
> > > > > I have configured the maxActive connection with 10 but every call
> > > > > I do a new connection is created.
> > > > >
> > > > >  <transactionManager type="JDBC">
> > > > >     <dataSource type="DBCP">
> > > > >       <property value="${database_driver}" name=" JDBC.Driver"/>
> > > > >       <property value="${database_url}" name="JDBC.ConnectionURL"/>
> > > > >       <property value="${database_user}" name="JDBC.Username"/>
> > > > >       <property value="${database_password}" name=" JDBC.Password
> > > > > "/>
> > > > >       <property value="10" name=" Pool.MaximumActiveConnections"/>
> > > > >       <property value="5" name="Pool.MaximumIdleConnections"/>
> > > > >       <property value="6000" name=" Pool.MaximumWait"/>
> > > > >     </dataSource>
> > > > >   </transactionManager>
> > > > >
> > > > > This is my SQL-map-config like. How do I limit the number of
> > > > > opened connections?
> > > > >
> > > > > tks!
> > > > >
> > > > > On 8/10/06, *Renato Silveira* < renatosilveira@gmail.com> wrote:
> > > > >
> > > > > Hi,
> > > > >
> > > > > How many connections are opened by Ibatis to make a simple query?
> > > > >
> > > > > In my sql-map-config, using SimpleDataSource (pool), the maxnumber
> > > > > of connection are like this:
> > > > > <property value="1" name=" Pool.MaximumActiveConnections"/>
> > > > > <property value="1" name="Pool.MaximumIdleConnections"/>
> > > > > But Ibatis open 4 connections at least.
> > > > >
> > > > > Cheers!
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> >
>

Mime
View raw message