在jdbc里怎么判断一个connection断了没有 可能跟缓存有关,servlet经常出现这种问题。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以用你得到的Connection 来创建一个Statement ,如果没抛出SQLException 就表明是可用的,反之,说明已经关闭了!example:try{if (con.isClosed()) { log.log("Removed bad connection from " + name); con = getConnection();}else{ stmt=con.createStatement(); stmt.close();}catch(SQLExcepiton e){.......} 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; 可我的db是oracle8.1.6,已经申明完全支持jdbc2的,我也没有使用多线程,何况我连网多断了,为什么还是返回false? 三目运算出错 模拟物体运动效果时在哪出了问题?(求解) java不知错误原因? 我sophmore,竟然学校开VB... 请教各位一个字符串查找问题,很着急 怎样去掉字符串里ip地址! 高分求解 java 发布问题 jdk1.4.0在win2k下如何配置才仍正常使用 怎样用java模拟键盘输入? 请问 instanceof 是什么意思,在那里能用到它? 请各位大哥告知JAVA中消息机制的有关资料,拜托!
就表明是可用的,反之,说明已经关闭了!
example:
try{
if (con.isClosed()) {
log.log("Removed bad connection from " + name);
con = getConnection();
}else{
stmt=con.createStatement();
stmt.close();
}
catch(SQLExcepiton e){
.......
}
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;