List:MySQL and Java« Previous MessageNext Message »
From:Shankar Unni Date:March 17 2003 2:51pm
Subject:RE: my DBCP problem ?
View as plain text  
That means that you are not closing a connection somewhere in one of
your JSP pages.

You have to actually do a connection.close() to return your connection
to the pool. If a connection has been out "too long" (there's a
parameter for this), DBCP will give you this warning, abort the
connection, and return it to the pool.

You can disable this behavior, too - see the parameters for the
connection pool factory.

> -----Original Message-----
> From: Liqiu.Tan [mailto:liqiu.tan@stripped] 
> Sent: Monday, March 17, 2003 6:48 AM
> To: java@stripped
> Subject: my DBCP problem ?
> 
> 
> Hello,
>   I use Tomcat 4.1.12 + Mysql 3.23 and Redhat 8.0 for my 
> apllication. Everything works fine ,but the tomcat log file 
> "catalina.out" always reports the following errors.the 
> catalina.out log file may be increased to 100M in half day . 
> where is my possible problem ,thanks very much. Tan Liqiu .
> 
> 
> "DBCP object created 2003-23-17 21:23:54 by the following 
> code was never
> closed:
> java.lang.Exception
>         at
> org.apache.commons.dbcp.AbandonedTrace.init(AbandonedTrace.java:139)
>         at
> org.apache.commons.dbcp.AbandonedTrace.<init>(AbandonedTrace.java:122)
>         at
> org.apache.commons.dbcp.DelegatingResultSet.<init>(DelegatingR
> esultSet.java:
> 113)
>         at 
> org.apache.commons.dbcp.DelegatingStatement.executeQuery(Deleg
> atingStatement
> .java:162)
>         at org.apache.jsp.film_jsp._jspService(film_jsp.java:58)
>         at
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:136)
>         at 
> javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>         at 
> org.apache.jasper.servlet.JspServletWrapper.service(JspServlet
> Wrapper.java:2
> 04)
>         at
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet
> .java:289)
>         at 
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240)
>         at 
> javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> er(Application
> FilterChain.java:247)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> cationFilterCh
> ain.java:193)
>         at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> rapperValve.ja
> va:260)
>         at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValv
> eContext.invok
> eNext(StandardPipeline.java:643)
>         at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:480)
>         at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>         at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardC
> ontextValve.ja
> va:191)
>         at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValv
> eContext.invok
> eNext(StandardPipeline.java:643)
>         at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:480)
>         at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>         at
> org.apache.catalina.core.StandardContext.invoke(StandardContex
> t.java:2396)
>         at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> Valve.java:180
> )
>         at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValv
> eContext.invok
> eNext(StandardPipeline.java:643)
>         at 
> org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDi
> spatcherValve.
> java:170)
>         at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValv
> eContext.invok
> eNext(StandardPipeline.java:641)
>         at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> Valve.java:172
> )
>         at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValv
> eContext.invok
> eNext(StandardPipeline.java:641)
>         at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:480)
>         at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>         at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> gineValve.java
> :174)
>         at 
> org.apache.catalina.core.StandardPipeline$StandardPipelineValv
> eContext.invok
> eNext(StandardPipeline.java:643)
>         at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:480)
>         at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>         at
> org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.
> java:223)
>         at
> org.apache.coyote.http11.Http11Processor.process(Http11Process
> or.java:405)
>         at 
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandle
> r.processConne
> ction(Http11Protocol.java:380)
>         at
> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoi
> nt.java:508)
>         at 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
> ThreadPool.jav
> a:533)
>         at java.lang.Thread.run(Thread.java:536)
> 
> "
> MY datasource definition.
> 
> <ResourceParams name="jdbc/test">
>     <parameter>
>       <name>factory</name>
>       <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
>     </parameter>
> 
>     <!-- Maximum number of dB connections in pool. Make sure you
>          configure your mysqld max_connections large enough to handle
>          all of your db connections. Set to 0 for no limit.
>          -->
>     <parameter>
>       <name>maxActive</name>
>       <value>100</value>
>     </parameter>
> 
>     <!-- Maximum number of idle dB connections to retain in pool.
>          Set to 0 for no limit.
>          -->
>     <parameter>
>       <name>maxIdle</name>
>       <value>30</value>
>     </parameter>
> 
>     <!-- Maximum time to wait for a dB connection to become available
>          in ms, in this example 10 seconds. An Exception is thrown if
>          this timeout is exceeded.  Set to -1 to wait indefinitely.
>          -->
>     <parameter>
>       <name>maxWait</name>
>       <value>10000</value>
>     </parameter>
> 
>     <!-- MySQL dB username and password for dB connections  -->
>     <parameter>
>      <name>username</name>
>      <value>root</value>
>     </parameter>
>     <parameter>
>      <name>password</name>
>      <value>ChangeFreely</value>
>     </parameter>
> 
>     <!-- Class name for mm.mysql JDBC driver -->
>     <parameter>
>        <name>driverClassName</name>
>        <value>org.gjt.mm.mysql.Driver</value>
>     </parameter>
> 
>     <!-- The JDBC connection url for connecting to your MySQL dB.
>          The autoReconnect=true argument to the url makes 
> sure that the
>          mm.mysql JDBC Driver will automatically reconnect if 
> mysqld closed the
>          connection.  mysqld by default closes idle 
> connections after 8 hours.
>          -->
>     <parameter>
>       <name>url</name>
> 
> <value>jdbc:mysql://192.168.0.24.35:3306/data?useUnicode=true;
> autoReconnect=
> true
>       </value>
>     </parameter>
>    <parameter>
>       <name>removeAbandoned</name>
>       <value>true</value>
>    </parameter>
> <parameter>
>       <name>validationQuery</name>
>       <value>SELECT 0;</value>
>     </parameter>
> 
> 
>    <parameter>
>    <name>removeAbandonedTimeout</name>
>    <value>60</value>
>    </parameter>
>   <parameter>
>   <name>logAbandoned</name>
>    <value>true</value>
>    </parameter>
>   </ResourceParams>
> </Context>
> 
> 
> 
> 
> 
> ---------------------------------------------------------------------
> Before posting, please check:
>    http://www.mysql.com/doc/         (the manual)
>    http://lists.mysql.com/           (the list archive)
> 
> To unsubscribe, e-mail 
> <java-unsubscribe-shankar=cotagesoft.com@stripped>
> 
> 
> 

Thread
my DBCP problem ?Liqiu.Tan17 Mar
  • RE: my DBCP problem ?Shankar Unni17 Mar