繁体   English   中英

如何确定java.sql.Connection在PostgreSQL JDBC4中是否有效

[英]How to determine if java.sql.Connection is valid with PostgreSQL JDBC4

我正在尝试为返回java.sql.Connection的方法编写测试以连接到PostgreSQL。

我的测试非常简单:

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

    assertTrue(conn.isValid(2));
}

但是, isValid调用失败:

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)

这是怎么回事? 当然,有一个PostgreSQL JDBC驱动程序可以实现Java 1.6的方法,例如isValid()

这里是我正在使用的驱动程序的详细信息:

<groupId>postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.0-801.jdbc4</version>

执行一个简单的查询,如果有效,则有效。 如果不是,则不是。

通过简单的查询,我的意思是:

SELECT 1;

真的很简单。

从postresql驱动程序源代码中AbstractJdbc4Connection.isValid()在调用时会引发此异常:

public boolean isValid(int timeout) throws SQLException
{
    checkClosed();
    throw org.postgresql.Driver.notImplemented(this.getClass(), "isValid(int)");
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM