我写的一个程序里面需要不断的向oracle数据库中插入或更新数据,如果在插入或更新数据库的过程中由于服务器关机或网络中断等原因导致数据库连接中断就需要停止更新数据库的线程运行,那么如何检测数据库连接已关闭呢?如果在抛出的异常中判断的话,由于我只希望只在数据库连接中断的情况下停止线程运行,其他数据库错误则不停止,如何区分这两种情况呢?还有无更好的解决方法呢?多谢了
解决方案 »
- 如何集成Google用户认证以及Google Calendar等服务
- 用什么编译选项会使stack trace中显示代码行号的位置显示“Compiled Code”
- 一个关于RMI部署的问题
- 如何做一组单选的按钮?
- 请教这个错误是什么意思?~谢谢~
- 严重问题:http协议上传文件,使用了jspSmartUpload这个包不行,可能是网速限制了,急求解决办法!
- 熬了一宿,终于凑够了十分,特来问个隐藏窗口的问题
- 用jbuilder如何生成.exe文件?
- 关于<<Thinking in Java>>中的一个程序,求详解???
- 如何为一个java程序制作在UNIX/Linux环境的安装程序?
- 如何从struts2标签取出数据到页面呢?
- java 练习题 大家帮我看看还有什么地方可以改进的 大家也可以收集 大家帮我看看我那些方面还需要改进的
isClosed()
查询此 Connection 对象是否已经被关闭。
或
isValid(int timeout)
如果连接尚未关闭并且仍然有效,则返回 true。
isClosed
boolean isClosed()
throws SQLException查询此 Connection 对象是否已经被关闭。如果在连接上调用了 close 方法或者发生某些严重的错误,则连接被关闭。只有在调用了 Connection.close 方法之后被调用时,此方法才保证返回 true。
通常不能调用此方法确定到数据库的连接是有效的还是无效的。通过捕获在试图进行某一操作时可能抛出的异常,典型的客户端可以确定某一连接是无效的。
返回:
如果此 Connection 对象是关闭的,则返回 true;如果它仍然处于打开状态,则返回 false
抛出:
SQLException - 如果发生数据库访问错误所以,最好不实用isClosed来确定到数据库的连接是有效的还是无效的。试试isValid吧