当前位置: 技术问答>java相关
在jdbc里怎么判断一个connection断了没有
来源: 互联网 发布时间:2015-04-29
本文导语: 看api里好象isClosed()可以,可我测试了一下发现即使把网线拔了还是返回false | Connection.isClose()只是jdbc中的接口 具体的实现在每一家数据库提供商的jdbc中 如oracle的直接连接中 public synchro...
看api里好象isClosed()可以,可我测试了一下发现即使把网线拔了还是返回false
|
Connection.isClose()只是jdbc中的接口
具体的实现在每一家数据库提供商的jdbc中 如oracle的直接连接中
public synchronized boolean isClosed()
throws SQLException
{
if(OracleLog.TRACE)
OracleLog.print(this, 1, 8, 16, "OracleConnection.isClosed() returned " + closed);
return closed;
}
这里的closed是在initialize()时如果连接成功则closed= false;
在close()时如果成功则closed=true;
值得注意的是 public synchronized void close()
public synchronized boolean isClosed()都是同步方法.
如果有其他应用在使用该连接则,closed()是就不会真正的close掉此连接
那时isClosed()返回还是false;
具体的实现在每一家数据库提供商的jdbc中 如oracle的直接连接中
public synchronized boolean isClosed()
throws SQLException
{
if(OracleLog.TRACE)
OracleLog.print(this, 1, 8, 16, "OracleConnection.isClosed() returned " + closed);
return closed;
}
这里的closed是在initialize()时如果连接成功则closed= false;
在close()时如果成功则closed=true;
值得注意的是 public synchronized void close()
public synchronized boolean isClosed()都是同步方法.
如果有其他应用在使用该连接则,closed()是就不会真正的close掉此连接
那时isClosed()返回还是false;