From: | Markus Schaber <schabi(at)logix-tt(dot)com> |
---|---|
To: | Markus Riehl <mriehl(at)skat(dot)com> |
Cc: | pgsql-jdbc(at)postgresql(dot)org |
Subject: | Re: No automatic reconnect after network error |
Date: | 2006-04-10 15:53:30 |
Message-ID: | 443A7F7A.6090509@logix-tt.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Schmidt | 2006-04-10 16:52:51 | Re: Re; pg_dump from Java |
Previous Message | Markus Riehl | 2006-04-10 15:11:15 | No automatic reconnect after network error |