Re: No automatic reconnect after network error - Mailing list pgsql-jdbc

From Markus Schaber
Subject Re: No automatic reconnect after network error
Date
Msg-id 443A7F7A.6090509@logix-tt.com
Whole thread Raw
In response to No automatic reconnect after network error  ("Markus Riehl" <mriehl@skat.com>)
Responses Re: No automatic reconnect after network error  ("Markus Riehl" <mriehl@skat.com>)
List pgsql-jdbc
Hi, Markus,

Markus Riehl wrote:

> Using MySQL or SAPDB, the JDBC driver is automatically reconnecting to the
> database when the connection is up again. Is there a way to use the PSQL
> driver the same way?

Currently, the backend cannot keep the current transaction if the
connection breaks, so it will be rolled back.

> How is this problem handled within Connection Pools (used within a servlet
> environment)? Is the pool deleting "dead" connections automatically and is
> creating new ones?

At least JBoss, you can use the following approach: In the Datasource
definition, put the following:

<datasources>
  <no-tx-datasource>
    <jndi-name>boo</jndi-name>
   <connection-url>jdbc:postgresql://localhost:5432/bar</connection-url>
    [ ... other attributes ... ]
    <new-connection-sql>SELECT version()</new-connection-sql>
    <check-valid-connection-sql>SELECT
version()</check-valid-connection-sql>
  </no-tx-datasource>
</datasources>

This validates the connection before it is handed out on the
application, and throws away invalid connections. Be aware that the SQL
is case sensitive, we had a problem with earlier versions of OpenMDX/CRX
that had upper case letters in the tags so they were ignored by jboss.

HTH,
Markus
--
Markus Schaber | Logical Tracking&Tracing International AG
Dipl. Inf.     | Software Development GIS

Fight against software patents in EU! www.ffii.org www.nosoftwarepatents.org

pgsql-jdbc by date:

Previous
From: "Markus Riehl"
Date:
Subject: No automatic reconnect after network error
Next
From: "Michael Schmidt"
Date:
Subject: Re: Re; pg_dump from Java