`

DBCP错误:java.sql.SQLException: Already closed.

    博客分类:
  • java
阅读更多
遇到这个错误,搜索了一下解决方法,经测试好用。
java.sql.SQLException: Already closed.
        at org.apache.tomcat.dbcp.dbcp.PoolableConnection.close(PoolableConnection.java:84)
        at org.apache.tomcat.dbcp.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.close(PoolingDataSource.java:181)
        at com.lwjlaser.citation2DB.Citation.controller(Citation.java:84)
        at com.lwjlaser.citation2DB.DealCitation.doPost(DealCitation.java:46)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:619)


原因:You're probably running into the fact that MYSQL closes connections  
which have been open "too long".
Probably if you make the request to the server again, you'll find that  
it works because the connection is reopened.
解决方法:One way to deal with this is to add the following to your context.xml  
Resource:

validationQuery="select 1"


代价:This causes a very cheap test query to always be run first; if the  
connection has been closed, this gets the failure, and
then a new connection is opened
分享到:
评论

相关推荐

    java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource解决方案

    总之,要解决`java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource`的问题,你需要确保你的项目正确包含了Apache Commons DBCP及其相关依赖,并正确配置了`BasicDataSource`。同时,了解...

    java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource

    在这个特定的错误中,我们看到的是`org.apache.commons.dbcp.BasicDataSource`,这是Apache Commons DBCP库中的一个类,用于管理数据库连接池。这个异常通常意味着在应用的类路径(ClassPath)中没有包含DBCP的jar...

    Struts的java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource异常的解决方法

    然而,对于初学者来说,遇到错误是常有的事,比如“java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource”。这个异常表明在运行时,系统无法找到指定的类,即Apache Commons DBCP的...

    oracle jdbc dirver

    8. **异常处理**:在处理数据库操作时,必须捕获SQLException和其他可能的异常,进行合适的错误处理和日志记录。 9. **安全性**:使用PreparedStatement防止SQL注入攻击,同时对敏感信息(如密码)进行加密存储和...

    commons-dbcp2-2.7.0.jar

    commons-dbcp2-2.7.0.jar用于Java连接数据库的使用,方便操作,简化代码,对于新入手学习JDBC的朋友可以尝试使用,idea 用DBCP连接数据库时必备jar包

    mysql5.6连接驱动jaf,可处理报错java.sql.SQLException: No suitable driver

    当你遇到"java.sql.SQLException: No suitable driver"这样的错误时,通常意味着你的Java环境无法找到匹配的数据库驱动。这个问题的解决方法是确保已经正确地引入了MySQL JDBC驱动(也称为Connector/J)。 MySQL ...

    commons-dbcp-1.2.1.jar commons-pool-1.3.jar struts-legacy.jar

    在Java开发中,这三个JAR文件分别是Apache Commons项目的一部分,以及Struts框架的一个遗留版本。以下是关于这些组件的详细知识: 1. **Apache Commons DBCP** (Database Connection Pool): - Apache Commons ...

    NotFoundException: org.apache.commons.dbcp.BasicDataSource异常的解决方法

    本篇将详细探讨如何解决在Struts框架中遇到的`java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource`异常。 `org.apache.commons.dbcp.BasicDataSource`是Apache Commons DBCP库中的一个类...

    java+sql.rar_SQL java_java s_java sql_java sql 简单_java.sql.

    本文将深入探讨如何使用Java和SQL进行数据库操作,以及JDBC编程技术。 首先,SQL(Structured Query Language)是用于管理关系数据库的标准语言,包括创建、查询、更新和删除数据等操作。Java与SQL的结合使得开发者...

    数据源所需要Jar包:commons-dbcp2-2.1.1.zip

    Apache Commons DBCP2是Apache软件基金会开发的一个数据库连接池组件,它在Java应用程序中用于管理数据库连接。这个“commons-dbcp2-2.1.1.zip”压缩包包含了DBCP2的特定版本(2.1.1)所需的全部资源,特别是其中的...

    ojdbc7-12.1.0.2.jar

    Oracle JDBC驱动程序是Java应用程序与Oracle数据库之间通信的桥梁,使得开发者能够在Java环境中执行SQL语句、处理数据库事务以及进行其他数据库操作。 在Java中,JDBC(Java Database Connectivity)是Java API,它...

    java.lang.NoClassDefFoundError错误解决办法

    "java.lang.NoClassDefFoundError错误解决办法" java.lang.NoClassDefFoundError错误是一种常见的Java错误,它发生在Java虚拟机在编译时能找到合适的类,而在运行时不能找到合适的类导致的错误。下面是该错误的解决...

    commons-dbcp.jar.rar

    1. 添加依赖:在项目中引入`commons-dbcp.jar`,对于Maven项目,可以在pom.xml中添加对应的依赖项。 2. 配置数据源:创建`BasicDataSource`实例并设置相关属性,如URL、用户名、密码、最大连接数等。 ```java ...

    commons-dbcp-1.4.jar和commons-pool-1.5.6.jar

    1. **DataSource**: 这是Java的 javax.sql.DataSource 接口,是DBCP中的关键组件,负责提供数据库连接。开发者可以通过配置DataSource来指定数据库的URL、用户名、密码等信息。 2. **Connection Pool**: 连接池由一...

    commons-dbcp2-2.7.0-bin.zip

    DBCP2是DBCP(Database Connection Pool)的升级版,提供了一些新的特性和改进,比如更好的线程安全性和错误处理机制。在2.7.0版本中,它可能包含了对之前版本的bug修复、性能优化以及对新版本JDBC驱动的支持。 ...

    oracle ojdbc6-11.2.0.3.jar

    这个jar包是Oracle JDBC驱动程序的一个版本,它允许Java程序通过Java Database Connectivity (JDBC) API来执行SQL语句、管理事务以及处理数据库结果集。 Oracle JDBC驱动分为四种类型,分别是Type 1、Type 2、Type ...

    commons-dbcp2-2.4.0.jar commons-pool2-2.4.2.jar等6个jar包

    spring-webmvc-5.2.6.RELEASE.jar、spring-web-5.2.6.RELEASE.jar、spring-jdbc-5.2.6.RELEASE.jar、mysql-connector-java-5.1.37-bin.jar、mybatis-spring-1.3.1.jar、commons-dbcp2-2.4.0.jar 、commons-pool2-...

    oracle jdbc驱动 ojdbc14-10.2.0.4.0下载

    Oracle JDBC驱动程序是连接Java应用程序与Oracle数据库的关键组件。ojdbc14-10.2.0.4.0是Oracle公司为Java开发者提供的一款针对Oracle 10g数据库的JDBC驱动版本。这个版本的驱动是Java 1.4兼容的,因此适合那些仍...

    commons-dbcp2-2.1.1.jar

    commons-dbcp2-2.1.1.jar使用dbcp进行数据库连接池的jar包

Global site tag (gtag.js) - Google Analytics