JAVA:当数据库重启后连接池没有自动识别的解决办法
2015-06-17 12:52
393 查看
今天发现服务器上的一个服务程序出现问题,软件抛出:Connection reset by peer: socket write error
无法正常提供服务,找了一下原因,原来是因为数据库服务器重启,连接池里的数据库连接connection无法创建新的Statement,导致无法提供正常服务。
到百度搜索了一下,看到一篇文章与我遇到的问题类似,解决办法虽然看上去不是很好的办法,但也实用:
解决思路:在使用前创建一个Statement,如果抛出异常,说明connection已断开,重新连接。
2008-11-26
无法正常提供服务,找了一下原因,原来是因为数据库服务器重启,连接池里的数据库连接connection无法创建新的Statement,导致无法提供正常服务。
到百度搜索了一下,看到一篇文章与我遇到的问题类似,解决办法虽然看上去不是很好的办法,但也实用:
解决思路:在使用前创建一个Statement,如果抛出异常,说明connection已断开,重新连接。
if (conn == null || conn.isClosed()) { conn=addConnetion() } else { Statement st= null; ResultSet rs=null; try { st= conn.createStatement(); //到这一步还不能确定 rs=st.executeQuery("select 0"); //到这一步才能确定 } catch (SQLException e) { conn=addConnetion(); } finally { try { if(rs!=null) { rs.close(); rs=null; } if (st != null) { st.close(); st=null; } } catch (SQLException e) { e.printStackTrace(); } } }
2008-11-26
相关文章推荐
- Java_Web三大框架之Struts2
- day05 Java基础
- Java:读取系统信息
- Java:返回当前内存信息
- java:取屏幕大小(去掉任务栏的高度部分)
- Eclipse:构造函数不提示才发现
- Java:终于找到了在alloy中的JFileChooser中的弹出式菜单不显示文字的解决办法
- java:给图片上加水印
- Java this 关键字用法
- eclipse/myeclipse link 方式安装jad插件
- java unicode utf-8 String.getBytes
- Java:取得鼠标当前在屏幕中的位置
- Java读取“桌面”、“我的文档”路径的方法
- 终于解决了用JAVA写窗口程序在不同的windows界面下的显示保持一致。
- developerWorks Java 技术专区-这里有数百篇关于 Java 编程各个方面的文章
- Spring3.2 中 Bean 定义之基于 XML 配置方式的源码解析
- 在Java中调用与系统有关的剪切板Clipboard
- 我的Java开发学习之旅------>求N内所有的素数
- java中最常用jar包的用途说明,适合初学者
- Java之final