Re: Database reset connection

From: Vladimir Sitnikov <sitnikov(dot)vladimir(at)gmail(dot)com>
To: Manoj Palhade <reply(dot)manoj(at)gmail(dot)com>
Cc: rob stone <floriparob(at)gmail(dot)com>, Dave Cramer <pg(at)fastcrypt(dot)com>, List <pgsql-jdbc(at)postgresql(dot)org>
Subject: Re: Database reset connection
Date: 2016-12-01 11:55:09
Message-ID: CAB=Je-Fm0Kq8tBG--tyNPSV8SX2kvGB1Oj8mFkbzo8JGLELW3Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Manoj,

I would recommend:
1) Upgrade pgjdbc to a recent version
2) Ensure you do not have multiple pgjdbc jars on the classpath
3) Use a decent connection pool. For instance, HikariCP:
https://github.com/brettwooldridge/HikariCP

Hikari performs connection validation automatically, so the application
would receive validated connections only.

Vladimir

чт, 1 дек. 2016 г. в 14:41, Dave Cramer <pg(at)fastcrypt(dot)com>:

> No, as I said this is out of the scope of JDBC
>
> Dave Cramer
>
> davec(at)postgresintl(dot)com
> www.postgresintl.com
>
> On 1 December 2016 at 00:30, Manoj Palhade <reply(dot)manoj(at)gmail(dot)com> wrote:
>
> Hi,
>
> Thanks for your quick reply.
>
> It looks like I am using JDBC3 from the runtime exception I got
> (Caused by: java.lang.AbstractMethodError:
> org.postgresql.jdbc3.Jdbc3Connection.isValid(I)Z)
>
> I guess *postgresql.jdbc3* does not have any way to auto Connection to
> database with timer.
>
>
>
> Thanks and Regards,
> Manoj Palhade
>
>
> On Wed, Nov 30, 2016 at 5:58 PM, rob stone <floriparob(at)gmail(dot)com> wrote:
>
>
> On Wed, 2016-11-30 at 16:48 +0530, Manoj Palhade wrote:
> > Hi,
> >
> > I have Java class which implements the Database(Postgres) related
> > functionality.
> >
> > The problem is if Database stopped and then restart then My this
> > class throws SQLException as connection got reset(database is up and
> > running).
> >
> > Is there any way that after Database restarted; my class
> > automatically Connection to database and work as expected instead of
> > throwing SQLException.
> >
> > Is there anyway with Properties as a parameter to
> > DriverManager.getConnection().
> >
> > Thanks and Regards,
> >
> > Manoj Palhade
> >
>
>
>
> From the javdoc's:-
>
> isValid
>
> boolean isValid(int timeout)
> throws SQLException
>
> Returns true if the connection has not been closed and is still
> valid. The driver shall submit a query on the connection or use some
> other mechanism that positively verifies the connection is still valid
> when this method is called.
>
> The query submitted by the driver to validate the connection shall
> be executed in the context of the current transaction.
>
> Parameters:
> timeout - - The time in seconds to wait for the database
> operation used to validate the connection to complete. If the timeout
> period expires before the operation completes, this method returns
> false. A value of 0 indicates a timeout is not applied to the database
> operation.
>
> Returns:
> true if the connection is valid, false otherwise
> Throws:
> SQLException - if the value supplied for timeout is less then 0
> Since:
> 1.6
>
> See Also:
> DatabaseMetaData.getClientInfoProperties()
>
>
>
>

In response to

Browse pgsql-jdbc by date

  From Date Subject
Next Message Robert Haas 2016-12-02 15:24:30 Re: Patch: Implement failover on libpq connect level.
Previous Message Dave Cramer 2016-12-01 11:40:52 Re: Database reset connection