java.sql.SQLException: Io 异常: Connection reset
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:255) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:93)
at com.common.html.dao.jdbc.JdbcUtil.getList(JdbcUtil.java:350)
at com.common.html.vo.IndexVo.initTOP_AD(IndexVo.java:147)
at com.common.html.vo.IndexVo.init(IndexVo.java:42)
at com.common.html.vo.IndexVo.<init>(IndexVo.java:18)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at com.common.html.vo.VoFactory.createVo(VoFactory.java:13)
at com.inte.web.action.CreateAction.execute(CreateAction.java:29)
java.sql.SQLException: Already closed.
at org.apache.commons.dbcp.PoolableConnection.close(PoolableConnection.java:84)
at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.close(PoolingDataSource.java:181)
at com.common.html.dao.jdbc.JdbcUtil.getList(JdbcUtil.java:377)
at com.common.html.vo.IndexVo.initTOP_AD(IndexVo.java:147)
at com.common.html.vo.IndexVo.init(IndexVo.java:42)
at com.common.html.vo.IndexVo.<init>(IndexVo.java:18)
(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at com.common.html.vo.VoFactory.createVo(VoFactory.java:13)
at com.inte.web.action.CreateAction.execute(CreateAction.java:29)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
java.sql.SQLException: Io 异常: Connection reset
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:255) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:93)
at com.common.html.dao.jdbc.JdbcUtil.getList(JdbcUtil.java:350)
at com.common.html.vo.IndexVo.parseLogo(IndexVo.java:407)
at com.common.html.vo.IndexVo.init(IndexVo.java:43)
at com.common.html.vo.IndexVo.<init>(IndexVo.java:18)
(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at com.common.html.vo.VoFactory.createVo(VoFactory.java:13)
at com.inte.web.action.CreateAction.execute(CreateAction.java:29)
java.sql.SQLException: Already closed.
at org.apache.commons.dbcp.PoolableConnection.close(PoolableConnection.java:84)
at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.close(PoolingDataSource.java:181)
at com.common.html.dao.jdbc.JdbcUtil.getList(JdbcUtil.java:377)
at com.common.html.vo.IndexVo.parseLogo(IndexVo.java:407)
at com.common.html.vo.IndexVo.init(IndexVo.java:43)
at com.common.html.vo.IndexVo.<init>(IndexVo.java:18)
(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at com.common.html.vo.VoFactory.createVo(VoFactory.java:13)
at com.inte.web.action.CreateAction.execute(CreateAction.java:29)
at java.lang.Thread.run(Thread.java:619)
java.sql.SQLException: Io 异常: Connection reset
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:255)
at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:815) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:93)
at com.common.html.dao.jdbc.JdbcUtil.getList(JdbcUtil.java:350)
at com.common.html.vo.IndexVo.parserFlash(IndexVo.java:84)
at com.common.html.vo.IndexVo.init(IndexVo.java:44)
at com.common.html.vo.IndexVo.<init>(IndexVo.java:18)
(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at com.common.html.vo.VoFactory.createVo(VoFactory.java:13)
at com.inte.web.action.CreateAction.execute(CreateAction.java:29)
java.sql.SQLException: Already closed.
at org.apache.commons.dbcp.PoolableConnection.close(PoolableConnection.java:84)
at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.close(PoolingDataSource.java:181)
at com.common.html.dao.jdbc.JdbcUtil.getList(JdbcUtil.java:377)
at com.common.html.vo.IndexVo.parserFlash(IndexVo.java:84)
at com.common.html.vo.IndexVo.init(IndexVo.java:44)
at com.common.html.vo.IndexVo.<init>(IndexVo.java:18)
(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at com.common.html.vo.VoFactory.createVo(VoFactory.java:13)
at com.inte.web.action.CreateAction.execute(CreateAction.java:29)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:255) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:93)
at com.common.html.dao.jdbc.JdbcUtil.getList(JdbcUtil.java:350)
at com.common.html.vo.IndexVo.initTOP_AD(IndexVo.java:147)
at com.common.html.vo.IndexVo.init(IndexVo.java:42)
at com.common.html.vo.IndexVo.<init>(IndexVo.java:18)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at com.common.html.vo.VoFactory.createVo(VoFactory.java:13)
at com.inte.web.action.CreateAction.execute(CreateAction.java:29)
java.sql.SQLException: Already closed.
at org.apache.commons.dbcp.PoolableConnection.close(PoolableConnection.java:84)
at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.close(PoolingDataSource.java:181)
at com.common.html.dao.jdbc.JdbcUtil.getList(JdbcUtil.java:377)
at com.common.html.vo.IndexVo.initTOP_AD(IndexVo.java:147)
at com.common.html.vo.IndexVo.init(IndexVo.java:42)
at com.common.html.vo.IndexVo.<init>(IndexVo.java:18)
(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at com.common.html.vo.VoFactory.createVo(VoFactory.java:13)
at com.inte.web.action.CreateAction.execute(CreateAction.java:29)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
java.sql.SQLException: Io 异常: Connection reset
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:255) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:93)
at com.common.html.dao.jdbc.JdbcUtil.getList(JdbcUtil.java:350)
at com.common.html.vo.IndexVo.parseLogo(IndexVo.java:407)
at com.common.html.vo.IndexVo.init(IndexVo.java:43)
at com.common.html.vo.IndexVo.<init>(IndexVo.java:18)
(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at com.common.html.vo.VoFactory.createVo(VoFactory.java:13)
at com.inte.web.action.CreateAction.execute(CreateAction.java:29)
java.sql.SQLException: Already closed.
at org.apache.commons.dbcp.PoolableConnection.close(PoolableConnection.java:84)
at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.close(PoolingDataSource.java:181)
at com.common.html.dao.jdbc.JdbcUtil.getList(JdbcUtil.java:377)
at com.common.html.vo.IndexVo.parseLogo(IndexVo.java:407)
at com.common.html.vo.IndexVo.init(IndexVo.java:43)
at com.common.html.vo.IndexVo.<init>(IndexVo.java:18)
(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at com.common.html.vo.VoFactory.createVo(VoFactory.java:13)
at com.inte.web.action.CreateAction.execute(CreateAction.java:29)
at java.lang.Thread.run(Thread.java:619)
java.sql.SQLException: Io 异常: Connection reset
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:255)
at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:815) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:93)
at com.common.html.dao.jdbc.JdbcUtil.getList(JdbcUtil.java:350)
at com.common.html.vo.IndexVo.parserFlash(IndexVo.java:84)
at com.common.html.vo.IndexVo.init(IndexVo.java:44)
at com.common.html.vo.IndexVo.<init>(IndexVo.java:18)
(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at com.common.html.vo.VoFactory.createVo(VoFactory.java:13)
at com.inte.web.action.CreateAction.execute(CreateAction.java:29)
java.sql.SQLException: Already closed.
at org.apache.commons.dbcp.PoolableConnection.close(PoolableConnection.java:84)
at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.close(PoolingDataSource.java:181)
at com.common.html.dao.jdbc.JdbcUtil.getList(JdbcUtil.java:377)
at com.common.html.vo.IndexVo.parserFlash(IndexVo.java:84)
at com.common.html.vo.IndexVo.init(IndexVo.java:44)
at com.common.html.vo.IndexVo.<init>(IndexVo.java:18)
(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at com.common.html.vo.VoFactory.createVo(VoFactory.java:13)
at com.inte.web.action.CreateAction.execute(CreateAction.java:29)
解决方案 »
- 求救菜鸟!jsp页面 给struts的action传值问题
- 救命啊、、、多维数组组合赋值问题,,
- 100分 跪求dwr3 + spring 的配置
- JBoss China中文社区正式开通了!
- j2ee项目的权限管理
- 请问tomcat5.0支持2000人同时在线的详细配置?
- 请问 JVM 是什么 ,它与JDK有什么区别?
- 我在JBuilder9+SQLserver2000+tomcat4.1中出现了这么一个连接数据库的问题,各位高手能否指点一二,呵呵...
- 我到底下载哪一个JBUILDER!!!
- 路过的高手救救我,我一直在线,还有一口气!100分不够再加
- hibernate的简单问题,也许很幼稚
- struts-config.xml的input问题 请帮忙看看
package com.common.html.dao.dbcp;import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.HashMap;
import java.util.Map;
import javax.sql.DataSource;
import org.apache.commons.dbcp.BasicDataSource;public final class DbcpBean { /**
* 配置信息
*/
static private String url = "jdbc:oracle:thin*********************";
static private String username = "*********************";";
static private String password = "*********************";";
static private String driver = "oracle.jdbc.driver.OracleDriver";
/** 数据源,static */
private static DataSource DS; static private DbcpBean bean = new DbcpBean(); public static synchronized DbcpBean getInstanse() {
if (bean == null) {
bean = new DbcpBean();
return bean;
}
return bean;
} /** 从数据源获得一个连接 */
public synchronized Connection getConn() {
try {
return DS.getConnection();
} catch (SQLException e) {
System.out.println("获得连接出错!");
e.printStackTrace();
return null;
}
} /** 默认的构造函数 */
private DbcpBean() {
initDS();
} /**
* 创建数据源,除了数据库外,都使用硬编码默认参数;
*
* @param connectURI
* 数据库
* @return
*/
public static void initDS() {
/**
* @param connectURI
* 数据库
* @param username
* 用户名
* @param pswd
* 密码
* @param driverClass
* 数据库连接驱动名
* @param initialSize
* 初始连接池连接个数
* @param maxActive
* 最大激活连接数
* @param maxIdle
* 最大闲置连接数
* @param minIdle
* 最小闲置连接数
* @param maxWait
* 获得连接的最大等待毫秒数*/
initDS(url, username, password, driver, 10, 50, 20,5, -1);
} /**
* 指定所有参数连接数据源
*
* @param connectURI
* 数据库
* @param username
* 用户名
* @param pswd
* 密码
* @param driverClass
* 数据库连接驱动名
* @param initialSize
* 初始连接池连接个数
* @param maxActive
* 最大激活连接数
* @param maxIdle
* 最大闲置连接数
* @param minIdle
* 最小闲置连接数
* @param maxWait
* 获得连接的最大等待毫秒数
* @return
*/
public static void initDS(String connectURI, String username, String pswd,
String driverClass, int initialSize, int maxActive, int maxIdle,int minIdle,
int maxWait) {
BasicDataSource ds = new BasicDataSource();
ds.setDriverClassName(driverClass);
ds.setUsername(username);
ds.setPassword(pswd);
ds.setUrl(connectURI);
ds.setInitialSize(initialSize); // 初始的连接数;
ds.setMaxActive(maxActive);
ds.setMaxIdle(maxIdle);
ds.setMinIdle(minIdle);
ds.setMaxWait(maxWait); DS = ds;
} /** 获得数据源连接状态 */
public static Map<String, Integer> getDataSourceStats() throws SQLException {
BasicDataSource bds = (BasicDataSource) DS;
Map<String, Integer> map = new HashMap<String, Integer>(2);
map.put("active_number", bds.getNumActive());
map.put("idle_number", bds.getNumIdle());
return map;
} /** 关闭数据源 */
protected static void shutdownDataSource() throws SQLException {
BasicDataSource bds = (BasicDataSource) DS;
bds.close();
}}
取链接就是使用
getConn() 方法不过如果有一段时间没有去使用的话,会报这个异常,但是反复请求后,链接又会被激活