用Java编写Postgresql数据库的编程连接有效性检查

时间:2012-03-07 13:23:45

标签: java postgresql jdbc database-connection

我有一个独立的java应用程序,它在postgresql数据库上进行一些数据库读/写业务。我使用java.sql.Connection对象上可用的isValid函数来重新建立数据库连接,以防它因网络问题/崩溃而丢失/失败。以下代码片段很快就会显示这个想法:

  //dbConnection is an instance of java.sql.Connection

  if(dbConnection.isValid(1)){
     reEstablishConnection();
  }

尽管如此,在运行时我在上面的if if条件下得到一个异常,它表示方法'isValid'尚未实现。我使用的是最新的JDBC驱动程序(v9.1-101),我的postgesql DBMS版本是8.3.9。我在SUSe Linux(SLES 11 SP2 - 64位)上使用Yast2安装它。有人能告诉我如何检查连接是否以编程方式在Java中为postgresql丢失?我的意思是在没有用户干预的情况下自动重新连接。

1 个答案:

答案 0 :(得分:4)

您可以实现自己的连接有效性检查功能(类似于执行"select 1",如果从db返回1而没有错误则返回true)。

但是,我建议您使用connection pooling,我建议您使用Apache Tomcat Pool来处理连接的有效性检查(以及许多其他事项)