![](/img/trans.png)
[英]Casting java.sql.Connection to com.mysql.jdbc.Connection
[英]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.