PooledConnectionImpl should call connectionErrorOccurred on listeners on connection error (per spec)

From: Csaba Nagy <nagy(at)ecircle-ag(dot)com>
To: Postgres JDBC <pgsql-jdbc(at)postgresql(dot)org>
Subject: PooledConnectionImpl should call connectionErrorOccurred on listeners on connection error (per spec)
Date: 2003-03-20 16:50:46
Message-ID: 1048179047.1031.40.camel@coppola.ecircle.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Hi all,

The current implementation of the "PooledConnectionImpl" is not calling
the connectionErrorOccurred callback on the registered listeners, as it
is required by the JDBC spec.
Our connection pool implementation uses that callback to mark the
connection as invalid, and remove it from the pool.
You can test the behavior if you set up a connection pool, start up your
app server, and then restart the postgres server, and try to access the
database.
If the connection pool implementation doesn't have some special code to
detect connection failure, the already created PooledConnections will be
unusable, but the connectionErrorOccurred callback will never be called.
This can be worked around in the connection pool implementation, but is
not conforming to the spec.
I've attached a patch which will just simply call the callback method
before throwing exceptions in the "getConnection" method.
Please apply the patch if it makes sens to you too...

Thanks,
Csaba.

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message E. Harold Williams 2003-03-20 16:52:57 query returns wrong result set
Previous Message Maicol 2003-03-20 11:37:03 JDBC