Re: Connection.isValid(int timeout) implementation - Mailing list pgsql-jdbc

From Vlad Arkhipov
Subject Re: Connection.isValid(int timeout) implementation
Date
Msg-id 4FD2B4E5.6000404@dc.baikal.ru
Whole thread Raw
In response to Re: Connection.isValid(int timeout) implementation  (Craig Ringer <ringerc@ringerc.id.au>)
Responses Re: Connection.isValid(int timeout) implementation
List pgsql-jdbc
On 06/08/2012 10:43 PM, Craig Ringer wrote:
On 06/08/2012 07:32 PM, Vlad Arkhipov wrote:
The current PostgreSQL driver (9.1-904) does not contain an
implementation of JDBC4 method Connection.isValid(int timeout).

Looks like it's since been implemented. It was commited by Dave Cramer on 2012-01-19 in commit 773f8e45, based on a patch by Louis Flores.

Found it on master branch. Thank you.

However there are some projects that strongly rely on this method to test the
connection (for example Arjuna Transaction Manager that is used by JBoss
Application Server). Are there any plans of implementing this feature?

Really? JBoss AS 7.1.1.Final is quite happy with PgJDBC (postgresql-9.1-901-1.jdbc4.jar) here. What's your configuration? Your -ds.xml or jboss-cli "create datasource" command?
They have a memory leak in JTS 4.16.4 (JBoss AS 7.1.1), so if you use XA datasource and the driver does not implement Connection.isValid, Transaction Manager will create and store in memory a new XA connection every 2 minutes.

<xa-datasource jndi-name="java:/datasources/Test" pool-name="Test" enabled="true" use-ccm="false">
  <xa-datasource-property name="ServerName">server</xa-datasource-property>
  <xa-datasource-property name="DatabaseName">database</xa-datasource-property>
  <driver>postgresql</driver>
  <xa-pool>
    <is-same-rm-override>false</is-same-rm-override>
    <interleaving>false</interleaving>
    <pad-xid>false</pad-xid>
    <wrap-xa-resource>false</wrap-xa-resource>
  </xa-pool>
  <security>
    <user-name>user</user-name>
    <password>password</password>
  </security>
  <statement>
    <share-prepared-statements>false</share-prepared-statements>
  </statement>
</xa-datasource>

pgsql-jdbc by date:

Previous
From: Mike Charnoky
Date:
Subject: Re: Hung JDBC connections
Next
From: Craig Ringer
Date:
Subject: Re: Connection.isValid(int timeout) implementation