如何确定 java.sql.Connection 对于 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>
I'm trying write a test for a method that returns a java.sql.Connection to connect to a PostgreSQL.
My test is very straightforward:
@Test
public void connectionFactoryShouldReturnOpenConnection() throws Exception {
Connection conn = ConnectionFactory.getConnection();
assertTrue(conn.isValid(2));
}
The isValid
call fails, though:
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)
What's going on? Surely there is a PostgreSQL JDBC driver that implements the methods of Java 1.6 such as isValid()
?
Here the details on the driver I'm using:
<groupId>postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.0-801.jdbc4</version>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
执行一个简单的查询,如果有效,则有效。如果没有,那就不是。
通过简单查询,我的意思是:
非常简单。
Perform a simple query, if it works, it's valid. If not, it's not.
And by simple query I mean something like:
Really simple.
来自 postresql 驱动程序 源代码
AbstractJdbc4Connection.isValid()
调用时抛出此异常:From the postresql driver source code the
AbstractJdbc4Connection.isValid()
throws this exception when called: