Java中Postgresql数据库的程序连接有效性检查



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

  //dbConnection is an instance of java.sql.Connection
  if(dbConnection.isValid(1)){
     reEstablishConnection();
  }

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

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

但是,我建议您使用连接池,并建议您使用Apache Tomcat池,它将为您处理连接的有效性检查(以及许多其他事情)

最新更新