Wie Sie feststellen, ob java.sql.Die Verbindung ist gültig mit PostgreSQL JDBC4

Ich versuche schreiben, einen test für eine Methode gibt ein java.sql.Verbindung eine Verbindung zu einer PostgreSQL.

Mein test ist sehr einfach:

@Test
public void connectionFactoryShouldReturnOpenConnection() throws Exception {
    Connection conn = ConnectionFactory.getConnection();

    assertTrue(conn.isValid(2));
}

Den isValid Aufruf schlägt fehl, wenn:

org.postgresql.util.PSQLException: Method org.postgresql.jdbc4.Jdbc4Connection.isValid(int) is not yet implemented.
at org.postgresql.Driver.notImplemented(Driver.java:753)
at org.postgresql.jdbc4.AbstractJdbc4Connection.isValid(AbstractJdbc4Connection.java:109)
at org.postgresql.jdbc4.Jdbc4Connection.isValid(Jdbc4Connection.java:21)

Was ist Los? Sicherlich gibt es eine PostgreSQL-JDBC-Treiber implementiert die Methoden von Java 1.6 wie isValid()?

Hier die details zum Treiber, den ich verwende:

<groupId>postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.0-801.jdbc4</version>
  • Ich Frage mich, ob dies ein Fall von: es existierte nicht, bevor die 1.6, also alle Verbindungs-pool-Implementierungen unterstützen die Angabe einer Anweisung ausführen, um die Verbindung zu testen. Jetzt, da Sie die verbindungspools für alle Unterstützung, dass gibt es nicht viel Nachfrage für Treiber, support-die neue Methode? Irgendwie pervers, aber so ist das Leben.
  • Ich vermute, dass Sie korrekt sind.
  • Es scheint, dass isValid() implementiert ab version 9.2.1000 (veröffentlicht September 27, 2012) der Fahrer (ich entschuldige mich für den Doppel-Meldung)
InformationsquelleAutor Eric Wilson | 2011-03-11
Schreibe einen Kommentar