No, you don't have to use start/commit/end with selects -- but it is faster
and will give you more reliable data if you have multiple related selects.

A switch from a throttle increment problem to a connection pool problem is
pretty much a guarantee that somewhere in your code a transaction is not
being ended.  Do a simple string search (or a "Find Usages/References" in a
good IDE) for startTransaction and endTransaction, and make sure the counts
are identical.  Then go through each and make sure that they're always
within the try/finally block as below.

Cheers,
Clinton


2009/6/29 María Mora Ramiro <maria.moraram...@gmail.com>

>   A couple of months ago, we experimented the same problem.
>
> We upgraded to ibatis 2.3.4 / ibatis dao 2.2.0 as you recommended and the
> throttle error disappeared. However, we are getting now an error with the
> connection pool (we use the jboss datasource via ibatis): “there are no more
> connections available”, it means our application is taking all the
> connections and remains waiting for the answer.
>
> We have deployed the same code in two different machines, and this error
> happens only in one of them (the one which receives less requests...). Our
> support team has told us, requests to database remains waiting. We have
> checked we are finishing transactions
>
> try {
>   start transaction
>   do work
>   commit transaction
> } finally {
>   end transaction
> }
>
> Do we have to do the same with "select" requests to database.
>
> Thanks.
>
> María
>
>
>
>

Reply via email to