db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tony Seebregts <to...@cibecs.com>
Subject Re. PooledConnection being closed (Part 2)
Date Wed, 17 Aug 2005 06:14:24 GMT
Thanks Knut,

Figured out some of this about 30 minutes after posting the question but 
your explanation clears thing up a lot.


Tony Seebregts

> Subject:
> Re: Re. PooledConnection being closed
> From:
> Knut Anders Hatlen <Knut.Hatlen@Sun.COM>
> Date:
> Mon, 15 Aug 2005 18:44:41 +0200
> To:
> Derby Discussion <derby-user@db.apache.org>
> To:
> Derby Discussion <derby-user@db.apache.org>
>Tony Seebregts <tonys@cibecs.com> writes:
>>Ok, thanks Knut - my misunderstanding.
>>I understood the ConnectionPoolDataSource as merely facilitating
>>connection pooling. If it manages the actual pooling though, is
>>there any point in handling the ConnectionEvents ? Other than for
>>monitoring/interest ...
>The ConnectionPoolDataSource doesn't manage the connection pool. It is
>just an instrument which is used by a connection pool manager. A
>ConnectionPoolDataSource can create PooledConnection objects, but
>since each PooledConnection can have only one open Connection object
>at a time, you'll probably need more than one PooledConnection object,
>and the need for a pool manager emerges.
>A typical connection pool manager has a getConnection() method which
>checks whether there is an unused PooledConnection in the pool. If
>there is one, PooledConnection.getConnection() is called, otherwise a
>new PooledConnection is created and its getConnection() is called. In
>addition the manager has to make sure that the pool doesn't become too
>big, that invalid PooledConnection objects are removed from the pool,
>etc. That's where the ConnectionEvent handlers come into use. The
>connectionClosed() method marks a PooledConnection as unused, and
>removes it from the pool if the pool has become too big. The
>connectionErrorOccurred() removes an invalid PooledConnection from the

View raw message