Hi, Rick,

> Hi. I hope this is the right place to discuss this, now that the drivers
are
> part of the official MySQL stuff. If not, please let me know where I
should
> post this. Thanks.

The Java list - [EMAIL PROTECTED] - would probaby be more appropriate
than the general list, but otherwise this is the right place.

> I've been using the 2.0.14 version of the drivers, and just recently
> switched to using the pooled connections supplied by JDBC 2.0. What I
> noticed was that I'm still creating many connections. For example, I did
an
> operation in my web app that makes about 30 connections, and the number
of
> connections opened in MySQL (which I had just recently restarted) jumped
> from 200 to 231.

> So, I went digging through the JDBC code, and found that every time the
> PooldedDataSource returns a new PooledConnection, with a new physical
> Connection obtained from the non-pooled DataSource. No where can I find
the
> actual pool in which the pooledConnections are kept.

> Am I completely missing something, and there some other thing I need to
do,
> or is this how it's supposed to be, or (most likely, I think), is there a
> serious flaw in the MySQL JDBC drivers?

You are missing something, I am afraid. To quite Sun's Javadoc for the
PooledConnection class

"An object that provides hooks for connection pool management.
A PooledConnection object represents a physical connection to
a data source. The connection can be recycled rather than being
closed when an application is finished with it, thus reducing
the number of connections that need to be made.

An application programmer does not use the PooledConnection
interface directly; rather, it is used by a middle tier
infrastructure that manages the pooling of connections."

You need to obtain or write a Pool Manager. Application code then
calls PoolManager.getConnection () instead of creating a new connection,
but otherwise runs unchanged. When the application calls Connection.close(,
the PoolManager is informed and can take appropriate recycling
action (releasing any resultsets, adding to a pool of available
connections, deleting long-unused connections before MySQL gets
bored of them.... ).

      Alec Cawley




---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to