You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@commons.apache.org by Monica Ferrero <mo...@activehotels.com> on 2003/08/11 17:22:40 UTC

[DBCP]: Tomcat+MySQL. Intermitent DbcpException: Server configuration denies access to data source


Hi!


I'm using Tomcat 4.1.24 with Apache 2 and MySQL 4.0.13. I have the mysql-
connector-java-2.0.14-bin.jar in commons/lib.
The application runs normally, and usually about once or twice a day I get
this exception org.apache.commons.dbcp.DbcpException:
java.sql.SQLException: Server configuration denies access to data source.
Once the exception occurs, it happens for every request and Tomcat needs
restarting.

Before getting this exception, I used to run out of connections, and
therefore I added to the server.xml

        <parameter>
          <name>logAbandoned</name>
          <value>true</value>
        </parameter>
        <parameter>
          <name>removeAbandoned</name>
          <value>true</value>
        </parameter>

I guess it could be related...

I include the exception and my server.xml file.

Any help appreciated.


Monica




2003-08-07 15:55:02 StandardWrapperValve[StructureServlet]: Servlet.service
() for servlet StructureServlet threw exception
org.apache.commons.dbcp.DbcpException: java.sql.SQLException: Server
configuration denies access to data source
        at org.apache.commons.dbcp.DriverConnectionFactory.createConnection
(DriverConnectionFactory.java:85)
        at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject
(PoolableConnectionFactory.java:184)
        at org.apache.commons.pool.impl.GenericObjectPool.borrowObject
(GenericObjectPool.java)
        at org.apache.commons.dbcp.AbandonedObjectPool.borrowObject
(AbandonedObjectPool.java:117)
        at org.apache.commons.dbcp.PoolingDataSource.getConnection
(PoolingDataSource.java:110)
        at org.apache.commons.dbcp.BasicDataSource.getConnection
(BasicDataSource.java:312)
        at com.ah.auk.db.DBUtil.getDBConnection(DBUtil.java:54)
        at com.ah.auk.db.DB.checkDBCon(DB.java:34)
        at com.ah.auk.db.HotelDBReader.getHotelsInGeoEntry
(HotelDBReader.java:64)
        at com.ah.auk.delegates.CountyHelper.getHotelsPerCounty
(CountyHelper.java:100)
        at com.ah.auk.box.CountyListBox.getCounties(CountyListBox.java:118)
        at com.ah.auk.box.CountyListBox.configure(CountyListBox.java:63)
        at com.ah.auk.core.BoxManager.configureBoxes(BoxManager.java:41)
        at com.ah.auk.structure.StructureServlet.doGet
(StructureServlet.java:74)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(Unknown Source)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown
Source)
        at com.ah.auk.context.ContextFilter.doFilter(ContextFilter.java:158)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(Unknown Source)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown
Source)
        at org.apache.catalina.core.StandardWrapperValve.invoke(Unknown
Source)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(Unknown Source)
        at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
        at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
        at org.apache.catalina.core.StandardContextValve.invoke(Unknown
Source)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(Unknown Source)
        at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
        at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
        at org.apache.catalina.core.StandardContext.invoke(Unknown Source)
        at org.apache.catalina.core.StandardHostValve.invoke(Unknown Source)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(Unknown Source)
        at org.apache.catalina.valves.ErrorDispatcherValve.invoke(Unknown
Source)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(Unknown Source)
        at org.apache.catalina.valves.ErrorReportValve.invoke(Unknown
Source)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(Unknown Source)
        at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
        at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
        at org.apache.catalina.core.StandardEngineValve.invoke(Unknown
Source)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(Unknown Source)
        at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
        at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
        at org.apache.coyote.tomcat4.CoyoteAdapter.service
(CoyoteAdapter.java:223)
        at org.apache.jk.server.JkCoyoteHandler.invoke
(JkCoyoteHandler.java:261)
        at org.apache.jk.common.HandlerRequest.invoke
(HandlerRequest.java:360)
        at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:604)
        at org.apache.jk.common.ChannelSocket.processConnection
(ChannelSocket.java:562)
        at org.apache.jk.common.SocketConnection.runIt
(ChannelSocket.java:679)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
(ThreadPool.java:619)
        at java.lang.Thread.run(Thread.java:534)
Caused by: java.sql.SQLException: Server configuration denies access to
data source
        at com.mysql.jdbc.MysqlIO.init(Unknown Source)
        at com.mysql.jdbc.Connection.connectionInit(Unknown Source)
        at com.mysql.jdbc.jdbc2.Connection.connectionInit(Unknown Source)
        at com.mysql.jdbc.Driver.connect(Unknown Source)
        at org.apache.commons.dbcp.DriverConnectionFactory.createConnection
(DriverConnectionFactory.java:83)
... 49 more


SERVER.XML:
----------

<Server port="8005" shutdown="SHUTDOWN" debug="0">
  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"
debug="0"/>
  <Listener
className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"
debug="0"/>

  <GlobalNamingResources/>

  <Service name="Tomcat-Standalone">

    <!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 -->
    <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
               port="8009" minProcessors="5" maxProcessors="75"
               enableLookups="true" redirectPort="8443"
               acceptCount="10" debug="0" connectionTimeout="0"
               useURIValidationHack="false"

protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>

    <Engine name="Standalone" defaultHost="localhost" debug="0">

      <Logger className="org.apache.catalina.logger.FileLogger"
prefix="catalina_log." suffix=".txt"
              timestamp="true"/>

      <Host name="localhost" debug="0" appBase="webapps"
       unpackWARs="true" autoDeploy="false">
         <Logger className="org.apache.catalina.logger.FileLogger"
                 directory="logs"  prefix="localhost_log." suffix=".txt"
                 timestamp="true"/>
          <Context path="" docBase="/home/user/auk" debug="0"
                 reloadable="false" crossContext="false">
         <Resource name="jdbc/allukmasterDB"
               auth="Container"
               type="javax.sql.DataSource"/>

        <ResourceParams name="jdbc/allukmasterDB">
        <parameter>
         <name>factory</name>
         <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
        </parameter>
        <parameter>
         <name>maxActive</name>
         <value>500</value>
        </parameter>
        <parameter>
         <name>maxIdle</name>
         <value>30</value>
        </parameter>
        <parameter>
         <name>maxWait</name>
         <value>10000</value>
        </parameter>
        <parameter>
          <name>username</name>
          <value>******</value>
        </parameter>
        <parameter>
         <name>password</name>
         <value>*******</value>
        </parameter>
        <parameter>
         <name>driverClassName</name>
         <value>org.gjt.mm.mysql.Driver</value>
        </parameter>
        <parameter>
          <name>url</name>
          <value>jdbc:mysql://localhost:3306/auk?autoReconnect=true</value>
        </parameter>
        <parameter>
          <name>logAbandoned</name>
          <value>true</value>
        </parameter>
        <parameter>
          <name>removeAbandoned</name>
          <value>true</value>
        </parameter>
        </ResourceParams>
      </Context>

    </Host>
   </Engine>
 </Service>
</Server>






Re: [DBCP]: Tomcat+MySQL. Intermitent DbcpException: Server configuration denies access to data source

Posted by Anton Tagunov <at...@mail.cnt.ru>.
Hello Monica!

MF>         <parameter>
MF>           <name>removeAbandoned</name>
MF>           <value>true</value>
MF>         </parameter>

Not an expert on this at all but as there's utter silence on the list
I would dare to say that the remove Abondoned implementation has been
declared buggy. There have been hot discussions on this feature at all
and it looks like it's being deprecated in general. However,
independent of these discussions, the current implementation has
been declared buggy. Stay away from it.

Don't know about the logAbondoned feature - does your project
feel better if you remove that too? Just to be on the safe side :)

-Anton


Re: [DBCP]: Tomcat+MySQL. Intermitent DbcpException: Server configuration

Posted by Dirk Verbeeck <di...@pandora.be>.
You can download it here:
http://cvs.apache.org/~dirkv/builds/dbcp.jsp

Dirk

Monica Ferrero wrote:

>Hello Dirk!
>
>  
>
>>Hi Monica
>>
>>The stacktrace you attached looks like a log4j one. I was looking for
>>the one from the abandoned code.
>>On linux you should look at $CATALINA_BASE/logs/catalina.out
>>    
>>
>
>The catalina.out log looks the same. I'm not getting the logging of the
>abandoned database connections anywhere I can see it...
>
>  
>
>>With only 15 web pages queries the problem should be reproducable on a
>>test system.
>>
>>I have make a build with all the recent changes included, you can
>>download the new jars here:
>>http://cvs.apache.org/~dirkv/builds/
>>Just replace the ones in common/lib
>>
>>I have tested the abandoned funtion using the configuration below and
>>the attached jsp.
>>    
>>
>
>The attached jsp hasn't made it through. I think attached files usually
>don't in themailing list...
>
>  
>
>>The testcase fails for 1.0, don't know why.
>>You will have to use the new version to look for the leak
>>Try the jsp first to see if you get the abandon stacktraces
>>    
>>
>
>Thanks alot. I'll give it a go as soon as I can!
>
>  
>
>>Cheers
>>Dirk
>>    
>>
>
>Monica
>
>  
>
>>==================================================
>>         <Resource name="jdbc/EmployeeAppDb" auth="SERVLET"
>>                   type="javax.sql.DataSource"/>
>>         <ResourceParams name="jdbc/EmployeeAppDb">
>>           <parameter><name>username</name><value>sa</value></parameter>
>>           <parameter><name>password</name><value></value></parameter>
>>           <parameter><name>driverClassName</name>
>>             <value>org.hsqldb.jdbcDriver</value></parameter>
>>           <parameter><name>url</name>
>>             <value>jdbc:hsqldb:database</value></parameter>
>>
>>
>><parameter><name>removeAbandoned</name><value>true</value></parameter>
>>
>><parameter><name>removeAbandonedTimeout</name><value>0</value></parameter>
>>
>><parameter><name>logAbandoned</name><value>true</value></parameter>
>>
>>           <parameter><name>maxActive</name><value>1</value></parameter>
>>
>>         </ResourceParams>
>>    
>>
>
>
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
>For additional commands, e-mail: commons-user-help@jakarta.apache.org
>
>
>
>
>  
>




Re: [DBCP]: Tomcat+MySQL. Intermitent DbcpException: Server configuration

Posted by Monica Ferrero <mo...@activehotels.com>.
Hello Dirk!

> Hi Monica
>
> The stacktrace you attached looks like a log4j one. I was looking for
> the one from the abandoned code.
> On linux you should look at $CATALINA_BASE/logs/catalina.out

The catalina.out log looks the same. I'm not getting the logging of the
abandoned database connections anywhere I can see it...

> With only 15 web pages queries the problem should be reproducable on a
> test system.
>
> I have make a build with all the recent changes included, you can
> download the new jars here:
> http://cvs.apache.org/~dirkv/builds/
> Just replace the ones in common/lib
>
> I have tested the abandoned funtion using the configuration below and
> the attached jsp.

The attached jsp hasn't made it through. I think attached files usually
don't in themailing list...

> The testcase fails for 1.0, don't know why.
> You will have to use the new version to look for the leak
> Try the jsp first to see if you get the abandon stacktraces

Thanks alot. I'll give it a go as soon as I can!

> Cheers
> Dirk

Monica

> ==================================================
>          <Resource name="jdbc/EmployeeAppDb" auth="SERVLET"
>                    type="javax.sql.DataSource"/>
>          <ResourceParams name="jdbc/EmployeeAppDb">
>            <parameter><name>username</name><value>sa</value></parameter>
>            <parameter><name>password</name><value></value></parameter>
>            <parameter><name>driverClassName</name>
>              <value>org.hsqldb.jdbcDriver</value></parameter>
>            <parameter><name>url</name>
>              <value>jdbc:hsqldb:database</value></parameter>
>
>
> <parameter><name>removeAbandoned</name><value>true</value></parameter>
>
> <parameter><name>removeAbandonedTimeout</name><value>0</value></parameter>
>
> <parameter><name>logAbandoned</name><value>true</value></parameter>
>
>            <parameter><name>maxActive</name><value>1</value></parameter>
>
>          </ResourceParams>




Re: [DBCP]: Tomcat+MySQL. Intermitent DbcpException: Server configuration

Posted by Dirk Verbeeck <di...@pandora.be>.
Hi Monica

The stacktrace you attached looks like a log4j one. I was looking for 
the one from the abandoned code.
On linux you should look at $CATALINA_BASE/logs/catalina.out

With only 15 web pages queries the problem should be reproducable on a 
test system.

I have make a build with all the recent changes included, you can 
download the new jars here:
http://cvs.apache.org/~dirkv/builds/
Just replace the ones in common/lib

I have tested the abandoned funtion using the configuration below and 
the attached jsp.

The testcase fails for 1.0, don't know why.
You will have to use the new version to look for the leak
Try the jsp first to see if you get the abandon stacktraces

Cheers
Dirk

==================================================
          <Resource name="jdbc/EmployeeAppDb" auth="SERVLET"
                    type="javax.sql.DataSource"/>
          <ResourceParams name="jdbc/EmployeeAppDb">
            <parameter><name>username</name><value>sa</value></parameter>
            <parameter><name>password</name><value></value></parameter>
            <parameter><name>driverClassName</name>
              <value>org.hsqldb.jdbcDriver</value></parameter>
            <parameter><name>url</name>
              <value>jdbc:hsqldb:database</value></parameter>

            
<parameter><name>removeAbandoned</name><value>true</value></parameter>
            
<parameter><name>removeAbandonedTimeout</name><value>0</value></parameter>
            
<parameter><name>logAbandoned</name><value>true</value></parameter>

            <parameter><name>maxActive</name><value>1</value></parameter>

          </ResourceParams>


Re: [DBCP]: Tomcat+MySQL. Intermitent DbcpException: Server configuration

Posted by Monica Ferrero <mo...@activehotels.com>.
Hello!

> OK, first of all what version of DBCP are you using ? The official
> build  or a nightly one?

Official build 1.0

> also the version of commons-pool.

1.0.1

> Do you use the "removeAbandonedTimeout" ?

No, I left it to the default value.

> The default value is 300sec. (A connection has to be abandoned for 300
> sec) Are there a lot of requests within the last 300 sec before the
> DBCP  exception?

I've looked at the logs when the exception happened once, and there was
about 15 web pages queries. At the moment the database it is used quiet
heavily as we haven't implemented a cache yet, so that could go easily over
3000 database queries... Now that I write it down it sounds like an awful
lot...

> The error messages are written on stderr. Do you have a stderr log?

Yes, they are written to the logs. I've included the exception again at the
end of the mail. Is that what you would like to see?

> What is your os? (linux, windows,...)

Linux redhat

> Dirk

Thanks a lot.

Monica


003-08-20 04:04:27,308 ERROR [Thread-13] (DBUtil.java:66) - SQLException
DBCP could not obtain an idle db connection, pool ex
hausted
java.sql.SQLException: DBCP could not obtain an idle db connection, pool
exhausted
        at org.apache.commons.dbcp.AbandonedObjectPool.borrowObject
(AbandonedObjectPool.java:123)
        at org.apache.commons.dbcp.PoolingDataSource.getConnection
(PoolingDataSource.java:110)
        at org.apache.commons.dbcp.BasicDataSource.getConnection
(BasicDataSource.java:312)
        at com.ah.auk.db.DBUtil.getDBConnection(DBUtil.java:54)
        at com.ah.auk.db.DB.checkDBCon(DB.java:36)
        at com.ah.auk.db.HotelDBReader.getHotelsInGeoEntry
(HotelDBReader.java:64)
        at com.ah.auk.delegates.CountyHelper.getHotelsPerCounty
(CountyHelper.java:100)
        at com.ah.auk.box.CountyListBox.getCounties(CountyListBox.java:124)
        at com.ah.auk.box.CountyListBox.configure(CountyListBox.java:63)
        at com.ah.auk.core.BoxManager.configureBoxes(BoxManager.java:41)
        at com.ah.auk.structure.StructureServlet.doGet
(StructureServlet.java:88)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(Unknown Source)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown
Source)
        at com.ah.auk.context.ContextFilter.doFilter(ContextFilter.java:177)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(Unknown Source)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown
Source)
        at org.apache.catalina.core.StandardWrapperValve.invoke(Unknown
Source)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(Unknown Source)
        at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
        at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
        at org.apache.catalina.core.StandardContextValve.invoke(Unknown
Source)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(Unknown Source)
        at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
        at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
        at org.apache.catalina.core.StandardContext.invoke(Unknown Source)
        at org.apache.catalina.core.StandardHostValve.invoke(Unknown Source)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(Unknown Source)
        at org.apache.catalina.valves.ErrorDispatcherValve.invoke(Unknown
Source)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(Unknown Source)
        at org.apache.catalina.valves.ErrorReportValve.invoke(Unknown
Source)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(Unknown Source)
        at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
        at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
        at org.apache.catalina.core.StandardEngineValve.invoke(Unknown
Source)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(Unknown Source)
        at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
        at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
        at org.apache.coyote.tomcat4.CoyoteAdapter.service
(CoyoteAdapter.java:223)
        at org.apache.jk.server.JkCoyoteHandler.invoke
(JkCoyoteHandler.java:261)
        at org.apache.jk.common.HandlerRequest.invoke
(HandlerRequest.java:360)
        at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:604)
        at org.apache.jk.common.ChannelSocket.processConnection
(ChannelSocket.java:562)
        at org.apache.jk.common.SocketConnection.runIt
(ChannelSocket.java:679)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
(ThreadPool.java:619)
        at java.lang.Thread.run(Thread.java:534)
2003-08-20 04:04:27,310 ERROR [Thread-13] (CountyHelper.java:104) -
Exception DBCP could not obtain an idle db connection, poo
l exhausted
java.sql.SQLException: DBCP could not obtain an idle db connection, pool
exhausted
        at org.apache.commons.dbcp.AbandonedObjectPool.borrowObject
(AbandonedObjectPool.java:123)
        at org.apache.commons.dbcp.PoolingDataSource.getConnection
(PoolingDataSource.java:110)
        at org.apache.commons.dbcp.BasicDataSource.getConnection
(BasicDataSource.java:312)
        at com.ah.auk.db.DBUtil.getDBConnection(DBUtil.java:54)
        at com.ah.auk.db.DB.checkDBCon(DB.java:36)
        at com.ah.auk.db.HotelDBReader.getHotelsInGeoEntry
(HotelDBReader.java:64)
        at com.ah.auk.delegates.CountyHelper.getHotelsPerCounty
(CountyHelper.java:100)
        at com.ah.auk.box.CountyListBox.getCounties(CountyListBox.java:124)
        at com.ah.auk.box.CountyListBox.configure(CountyListBox.java:63)
        at com.ah.auk.core.BoxManager.configureBoxes(BoxManager.java:41)
        at com.ah.auk.structure.StructureServlet.doGet
(StructureServlet.java:88)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(Unknown Source)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown
Source)
        at com.ah.auk.context.ContextFilter.doFilter(ContextFilter.java:177)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(Unknown Source)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown
Source)
        at org.apache.catalina.core.StandardWrapperValve.invoke(Unknown
Source)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(Unknown Source)
        at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
        at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
        at org.apache.catalina.core.StandardContextValve.invoke(Unknown
Source)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(Unknown Source)
        at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
        at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
        at org.apache.catalina.core.StandardContext.invoke(Unknown Source)
        at org.apache.catalina.core.StandardHostValve.invoke(Unknown Source)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(Unknown Source)
        at org.apache.catalina.valves.ErrorDispatcherValve.invoke(Unknown
Source)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(Unknown Source)
        at org.apache.catalina.valves.ErrorReportValve.invoke(Unknown
Source)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(Unknown Source)
        at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
        at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
        at org.apache.catalina.core.StandardEngineValve.invoke(Unknown
Source)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(Unknown Source)
        at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
        at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
        at org.apache.coyote.tomcat4.CoyoteAdapter.service
(CoyoteAdapter.java:223)
        at org.apache.jk.server.JkCoyoteHandler.invoke
(JkCoyoteHandler.java:261)
        at org.apache.jk.common.HandlerRequest.invoke
(HandlerRequest.java:360)
        at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:604)
        at org.apache.jk.common.ChannelSocket.processConnection
(ChannelSocket.java:562)
        at org.apache.jk.common.SocketConnection.runIt
(ChannelSocket.java:679)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
(ThreadPool.java:619)
        at java.lang.Thread.run(Thread.java:534)
> Monica Ferrero wrote:
>
>>Hello!
>>
>>Sorry not to have given any signs of life...
>>Yes, I got an answer in the mySQL list, that pointed out that my number
>>of connections 500, was a lot more than the normal value of 100.
>>Changing that solved the problem of the Server configuration error, but
>>I've gone back to getting java.sql.SQLException: DBCP could not obtain
>>an idle db connection, pool exhausted (whole exception follows).
>>I thought the configuration
>>        <parameter>
>>          <name>logAbandoned</name>
>>          <value>true</value>
>>        </parameter>
>>        <parameter>
>>          <name>removeAbandoned</name>
>>          <value>true</value>
>>        </parameter>
>>would free and log abandoned connections, but it doesn't seem to do it.
>>Anyway, I have checked over all my result sets, statements and
>>connections and I think they are all closed properly...
>>
>>So I'm still a bit stuck here...
>>Some other person in this list, suggested that there might be some
>>problems with the DBCP, could it be so?
>>Any other suggestions?
>>
>>Any help really appreciated.
>>
>>Monica
>>
>>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org For
> additional commands, e-mail: commons-user-help@jakarta.apache.org




Re: [DBCP]: Tomcat+MySQL. Intermitent DbcpException: Server configuration -> Now pool exhausted

Posted by Dirk Verbeeck <di...@pandora.be>.
OK, first of all what version of DBCP are you using ? The official build 
or a nightly one?
also the version of commons-pool.

Do you use the "removeAbandonedTimeout" ?
The default value is 300sec. (A connection has to be abandoned for 300 sec)
Are there a lot of requests within the last 300 sec before the DBCP 
exception?

The error messages are written on stderr. Do you have a stderr log?
What is your os? (linux, windows,...)

Dirk

Monica Ferrero wrote:

>Hello!
>
>Sorry not to have given any signs of life...
>Yes, I got an answer in the mySQL list, that pointed out that my number of
>connections 500, was a lot more than the normal value of 100. Changing that
>solved the problem of the Server configuration error, but I've gone back to
>getting java.sql.SQLException: DBCP could not obtain an idle db connection,
>pool exhausted (whole exception follows).
>I thought the configuration
>        <parameter>
>          <name>logAbandoned</name>
>          <value>true</value>
>        </parameter>
>        <parameter>
>          <name>removeAbandoned</name>
>          <value>true</value>
>        </parameter>
>would free and log abandoned connections, but it doesn't seem to do it.
>Anyway, I have checked over all my result sets, statements and connections
>and I think they are all closed properly...
>
>So I'm still a bit stuck here...
>Some other person in this list, suggested that there might be some problems
>with the DBCP, could it be so?
>Any other suggestions?
>
>Any help really appreciated.
>
>Monica
>  
>




Re: [DBCP]: Tomcat+MySQL. Intermitent DbcpException: Server configuration -> Now pool exhausted

Posted by Monica Ferrero <mo...@activehotels.com>.
Hello!

As far as I know all my result sets, statements and connections are closed
in the finally block of my try stament where all the SQL related queries
are done.
Even if an exception is thrown in the middle the finally statement should
be executed and everything be closed.

Monica

> Make sure the rs, stmt and conn are closed in the finally block in your
>  code.
> Brian
>
> Perhaps an exception is being thrown along the way after a conn is
> obtained, but thenconn is not closed because code is never reached.
>
> On Fri, 22 Aug 2003 10:58AM -0500, Monica Ferrero wrote:
>> Hello!
>>
>> Sorry not to have given any signs of life...
>> Yes, I got an answer in the mySQL list, that pointed out that my
>> number  of
>> connections 500, was a lot more than the normal value of 100. Changing
>>  that
>> solved the problem of the Server configuration error, but I've gone
>> back to
>> getting java.sql.SQLException: DBCP could not obtain an idle db
>> connection,
>> pool exhausted (whole exception follows).
>> I thought the configuration
>>         <parameter>
>>           <name>logAbandoned</name>
>>           <value>true</value>
>>         </parameter>
>>         <parameter>
>>           <name>removeAbandoned</name>
>>           <value>true</value>
>>         </parameter>
>> would free and log abandoned connections, but it doesn't seem to do
>> it. Anyway, I have checked over all my result sets, statements and
>> connections
>> and I think they are all closed properly...
>>
>> So I'm still a bit stuck here...
>> Some other person in this list, suggested that there might be some
>> problems
>> with the DBCP, could it be so?
>> Any other suggestions?
>>
>> Any help really appreciated.
>>
>> Monica
>>
>> 2003-08-20 04:04:57 ApplicationDispatcher[] Servlet.service() for
>> servlet
>> StructureServlet threw exception
>> javax.servlet.ServletException: Error initialising boxes
>>         at
>> com.ah.auk.core.BoxManager.configureBoxes(BoxManager.java:72)
>>         at com.ah.auk.structure.StructureServlet.doGet
>> (StructureServlet.java:88)
>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java) at
>>         javax.servlet.http.HttpServlet.service(HttpServlet.java) at
>> org.apache.catalina.core.ApplicationDispatcher.invoke(Unknown
>> Source)
>>         at
>> org.apache.catalina.core.ApplicationDispatcher.doForward(Unknown
>> Source)
>>         at
>> org.apache.catalina.core.ApplicationDispatcher.forward(Unknown
>> Source)
>>         at
>> org.apache.catalina.valves.ErrorDispatcherValve.custom(Unknown
>> Source)
>>         at
>> org.apache.catalina.valves.ErrorDispatcherValve.status(Unknown
>> Source)
>>         at
>> org.apache.catalina.valves.ErrorDispatcherValve.invoke(Unknown
>> Source)
>>         at
>>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
>> eNext(Unknown Source)
>>         at org.apache.catalina.valves.ErrorReportValve.invoke(Unknown
>> Source)
>>         at
>>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
>> eNext(Unknown Source)
>>         at org.apache.catalina.core.StandardPipeline.invoke(Unknown
>> Source)
>>         at org.apache.catalina.core.ContainerBase.invoke(Unknown
>> Source)
>>         at org.apache.catalina.core.StandardEngineValve.invoke(Unknown
>> Source)
>>         at
>>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
>> eNext(Unknown Source)
>>         at org.apache.catalina.core.StandardPipeline.invoke(Unknown
>> Source)
>>         at org.apache.catalina.core.ContainerBase.invoke(Unknown
>> Source)
>>         at org.apache.coyote.tomcat4.CoyoteAdapter.service
>> (CoyoteAdapter.java:223)
>>         at org.apache.jk.server.JkCoyoteHandler.invoke
>> (JkCoyoteHandler.java:261)
>>         at org.apache.jk.common.HandlerRequest.invoke
>> (HandlerRequest.java:360)
>>         at
>> org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:604)
>>         at org.apache.jk.common.ChannelSocket.processConnection
>> (ChannelSocket.java:562)
>>         at org.apache.jk.common.SocketConnection.runIt
>> (ChannelSocket.java:679)
>>         at
>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
>> (ThreadPool.java:619)
>>         at java.lang.Thread.run(Thread.java:534)
>> ----- Root Cause -----
>> com.ah.auk.core.BoxException: java.sql.SQLException: DBCP could not
>> obtain
>> an idle db connection, pool exhausted
>>         at
>> com.ah.auk.box.CountyListBox.configure(CountyListBox.java:80)
>>         at
>> com.ah.auk.core.BoxManager.configureBoxes(BoxManager.java:41)
>>         at com.ah.auk.structure.StructureServlet.doGet
>> (StructureServlet.java:88)
>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java) at
>>         javax.servlet.http.HttpServlet.service(HttpServlet.java) at
>> org.apache.catalina.core.ApplicationDispatcher.invoke(Unknown
>> Source)
>>         at
>> org.apache.catalina.core.ApplicationDispatcher.doForward(Unknown
>> Source)
>>         at
>> org.apache.catalina.core.ApplicationDispatcher.forward(Unknown
>> Source)
>>         at
>> org.apache.catalina.valves.ErrorDispatcherValve.custom(Unknown
>> Source)
>>         at
>> org.apache.catalina.valves.ErrorDispatcherValve.status(Unknown
>> Source)
>>         at
>> org.apache.catalina.valves.ErrorDispatcherValve.invoke(Unknown
>> Source)
>>         at
>>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
>> eNext(Unknown Source)
>>         at org.apache.catalina.valves.ErrorReportValve.invoke(Unknown
>> Source)
>>         at
>>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
>> eNext(Unknown Source)
>>         at org.apache.catalina.core.StandardPipeline.invoke(Unknown
>> Source)
>>         at org.apache.catalina.core.ContainerBase.invoke(Unknown
>> Source)
>>         at org.apache.coyote.tomcat4.CoyoteAdapter.service
>> (CoyoteAdapter.java:223)
>>         at org.apache.jk.server.JkCoyoteHandler.invoke
>> (JkCoyoteHandler.java:261)
>>         at org.apache.jk.common.HandlerRequest.invoke
>> (HandlerRequest.java:360)
>>         at
>> org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:604)
>>         at org.apache.jk.common.ChannelSocket.processConnection
>> (ChannelSocket.java:562)
>>         at org.apache.jk.common.SocketConnection.runIt
>> (ChannelSocket.java:679)
>>         at
>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
>> (ThreadPool.java:619)
>>         at java.lang.Thread.run(Thread.java:534)
>> Caused by: java.sql.SQLException: DBCP could not obtain an idle db
>> connection, pool exhausted
>>         at org.apache.commons.dbcp.AbandonedObjectPool.borrowObject
>> (AbandonedObjectPool.java:123)
>>         at org.apache.commons.dbcp.PoolingDataSource.getConnection
>> (PoolingDataSource.java:110)
>>         at org.apache.commons.dbcp.BasicDataSource.getConnection
>> (BasicDataSource.java:312)
>>         at com.ah.auk.db.DBUtil.getDBConnection(DBUtil.java:54)
>>         at com.ah.auk.db.DB.checkDBCon(DB.java:36)
>>         at com.ah.auk.db.GeoDBReader.getGeoId(GeoDBReader.java:40) at
>> com.ah.auk.box.CountyListBox.getCountryId(CountyListBox.java:160)
>>         at
>> com.ah.auk.box.CountyListBox.configure(CountyListBox.java:57)
>>         ... 27 more
>>
>>
>>
>>>  Hi Monica
>>>
>>>  Did the solution you got on this list solve your problem ?
>>>  http://weblists.camelot.co.pt/10/10093.html?grp=
>>>
>>>  Or is there still something wrong?
>>>
>>>
>>>  Dirk
>>>
>>>
>>>
>>>
>>>  Monica Ferrero wrote:
>>>
>>>> Hi!
>>>>
>>>>
>>>> I'm using Tomcat 4.1.24 with Apache 2 and MySQL 4.0.13. I have the
>>>> mysql- connector-java-2.0.14-bin.jar in commons/lib.
>>>> The application runs normally, and usually about once or twice a day
>>>> I get this exception org.apache.commons.dbcp.DbcpException:
>>>> java.sql.SQLException: Server configuration denies access to data
>>>> source. Once the exception occurs, it happens for every request and
>>>> Tomcat needs restarting.
>>>>
>>>> Before getting this exception, I used to run out of connections, and
>>>> therefore I added to the server.xml
>>>>
>>>>         <parameter>
>>>>           <name>logAbandoned</name>
>>>>           <value>true</value>
>>>>         </parameter>
>>>>         <parameter>
>>>>           <name>removeAbandoned</name>
>>>>           <value>true</value>
>>>>         </parameter>
>>>>
>>>> I guess it could be related...
>>>>
>>>> I include the exception and my server.xml file.
>>>>
>>>> Any help appreciated.
>>>>
>>>>
>>>> Monica
>>>>
>>>>
>>>>
>>>>
>>>> 2003-08-07 15:55:02 StandardWrapperValve[StructureServlet]:
>>>> Servlet.service () for servlet StructureServlet threw exception
>>>> org.apache.commons.dbcp.DbcpException: java.sql.SQLException: Server
>>>> configuration denies access to data source
>>>>         at
>>>>
>>>> org.apache.commons.dbcp.DriverConnectionFactory.createConnection
>>>> (DriverConnectionFactory.java:85)
>>>>         at
>>>>         org.apache.commons.dbcp.PoolableConnectionFactory.makeObject
>>>> (PoolableConnectionFactory.java:184)
>>>>         at
>>>>         org.apache.commons.pool.impl.GenericObjectPool.borrowObject
>>>> (GenericObjectPool.java)
>>>>         at org.apache.commons.dbcp.AbandonedObjectPool.borrowObject
>>>> (AbandonedObjectPool.java:117)
>>>>         at org.apache.commons.dbcp.PoolingDataSource.getConnection
>>>> (PoolingDataSource.java:110)
>>>>         at org.apache.commons.dbcp.BasicDataSource.getConnection
>>>> (BasicDataSource.java:312)
>>>>         at com.ah.auk.db.DBUtil.getDBConnection(DBUtil.java:54) at
>>>>         com.ah.auk.db.DB.checkDBCon(DB.java:34)
>>>>         at com.ah.auk.db.HotelDBReader.getHotelsInGeoEntry
>>>> (HotelDBReader.java:64)
>>>>         at com.ah.auk.delegates.CountyHelper.getHotelsPerCounty
>>>> (CountyHelper.java:100)
>>>>         at
>>>>
>>>> com.ah.auk.box.CountyListBox.getCounties(CountyListBox.java:118)
>>>>         at
>>>>         com.ah.auk.box.CountyListBox.configure(CountyListBox.java:63)
>>>>         at
>>>>         com.ah.auk.core.BoxManager.configureBoxes(BoxManager.java:41)
>>>>         at com.ah.auk.structure.StructureServlet.doGet
>>>> (StructureServlet.java:74)
>>>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java)
>>>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java)
>>>>         at
>>>>
>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
>>>> (Unknown Source)
>>>>         at
>>>>
>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown
>>>> Source)
>>>>         at
>>>>
>>>> com.ah.auk.context.ContextFilter.doFilter(ContextFilter.java:158)
>>>>         at
>>>>
>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
>>>> (Unknown Source)
>>>>         at
>>>>
>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown
>>>> Source)
>>>>         at
>>>>         org.apache.catalina.core.StandardWrapperValve.invoke(Unknown
>>>> Source)
>>>>         at
>>>>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.inv
>> ok
>>>> eNext(Unknown Source)
>>>>         at org.apache.catalina.core.StandardPipeline.invoke(Unknown
>>>>         Source) at
>>>>         org.apache.catalina.core.ContainerBase.invoke(Unknown
>>>>         Source) at
>>>>         org.apache.catalina.core.StandardContextValve.invoke(Unknown
>>>> Source)
>>>>         at
>>>>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.inv
>> ok
>>>> eNext(Unknown Source)
>>>>         at org.apache.catalina.core.StandardPipeline.invoke(Unknown
>>>>         Source) at
>>>>         org.apache.catalina.core.ContainerBase.invoke(Unknown
>>>>         Source) at
>>>>         org.apache.catalina.core.StandardContext.invoke(Unknown
>>>>         Source) at
>>>>         org.apache.catalina.core.StandardHostValve.invoke(Unknown
>>>>         Source) at
>>>>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.inv
>> ok
>>>> eNext(Unknown Source)
>>>>         at
>>>>         org.apache.catalina.valves.ErrorDispatcherValve.invoke(Unknown
>>>> Source)
>>>>         at
>>>>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.inv
>> ok
>>>> eNext(Unknown Source)
>>>>         at
>>>>         org.apache.catalina.valves.ErrorReportValve.invoke(Unknown
>>>> Source)
>>>>         at
>>>>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.inv
>> ok
>>>> eNext(Unknown Source)
>>>>         at org.apache.catalina.core.StandardPipeline.invoke(Unknown
>>>>         Source) at
>>>>         org.apache.catalina.core.ContainerBase.invoke(Unknown
>>>>         Source) at
>>>>         org.apache.catalina.core.StandardEngineValve.invoke(Unknown
>>>> Source)
>>>>         at
>>>>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.inv
>> ok
>>>> eNext(Unknown Source)
>>>>         at org.apache.catalina.core.StandardPipeline.invoke(Unknown
>>>>         Source) at
>>>>         org.apache.catalina.core.ContainerBase.invoke(Unknown
>>>>         Source) at org.apache.coyote.tomcat4.CoyoteAdapter.service
>>>> (CoyoteAdapter.java:223)
>>>>         at org.apache.jk.server.JkCoyoteHandler.invoke
>>>> (JkCoyoteHandler.java:261)
>>>>         at org.apache.jk.common.HandlerRequest.invoke
>>>> (HandlerRequest.java:360)
>>>>         at
>>>>
>>>> org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:604)
>>>>         at org.apache.jk.common.ChannelSocket.processConnection
>>>> (ChannelSocket.java:562)
>>>>         at org.apache.jk.common.SocketConnection.runIt
>>>> (ChannelSocket.java:679)
>>>>         at
>>>>         org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
>>>> (ThreadPool.java:619)
>>>>         at java.lang.Thread.run(Thread.java:534)
>>>> Caused by: java.sql.SQLException: Server configuration denies access
>>>> to data source
>>>>         at com.mysql.jdbc.MysqlIO.init(Unknown Source)
>>>>         at com.mysql.jdbc.Connection.connectionInit(Unknown Source)
>>>>         at com.mysql.jdbc.jdbc2.Connection.connectionInit(Unknown
>>>>         Source) at com.mysql.jdbc.Driver.connect(Unknown Source)
>>>>         at
>>>>
>>>> org.apache.commons.dbcp.DriverConnectionFactory.createConnection
>>>> (DriverConnectionFactory.java:83)
>>>> ... 49 more
>>>>
>>>>
>>>> SERVER.XML:
>>>> ----------
>>>>
>>>> <Server port="8005" shutdown="SHUTDOWN" debug="0">
>>>>   <Listener
>>>>   className="org.apache.catalina.mbeans.ServerLifecycleListener"
>>>> debug="0"/>
>>>>   <Listener
>>>> className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"
>>>> debug="0"/>
>>>>
>>>>   <GlobalNamingResources/>
>>>>
>>>>   <Service name="Tomcat-Standalone">
>>>>
>>>>     <!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 -->
>>>>     <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
>>>>                port="8009" minProcessors="5" maxProcessors="75"
>>>>                enableLookups="true" redirectPort="8443"
>>>>                acceptCount="10" debug="0" connectionTimeout="0"
>>>>                useURIValidationHack="false"
>>>>
>>>> protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>
>>>>
>>>>     <Engine name="Standalone" defaultHost="localhost" debug="0">
>>>>
>>>>       <Logger className="org.apache.catalina.logger.FileLogger"
>>>> prefix="catalina_log." suffix=".txt"
>>>>               timestamp="true"/>
>>>>
>>>>       <Host name="localhost" debug="0" appBase="webapps"
>>>>        unpackWARs="true" autoDeploy="false">
>>>>          <Logger className="org.apache.catalina.logger.FileLogger"
>>>>                  directory="logs"  prefix="localhost_log."
>>>>                  suffix=".txt" timestamp="true"/>
>>>>           <Context path="" docBase="/home/user/auk" debug="0"
>>>>                  reloadable="false" crossContext="false">
>>>>          <Resource name="jdbc/allukmasterDB"
>>>>                auth="Container"
>>>>                type="javax.sql.DataSource"/>
>>>>
>>>>         <ResourceParams name="jdbc/allukmasterDB">
>>>>         <parameter>
>>>>          <name>factory</name>
>>>>          <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
>>>>         </parameter>
>>>>         <parameter>
>>>>          <name>maxActive</name>
>>>>          <value>500</value>
>>>>         </parameter>
>>>>         <parameter>
>>>>          <name>maxIdle</name>
>>>>          <value>30</value>
>>>>         </parameter>
>>>>         <parameter>
>>>>          <name>maxWait</name>
>>>>          <value>10000</value>
>>>>         </parameter>
>>>>         <parameter>
>>>>           <name>username</name>
>>>>           <value>******</value>
>>>>         </parameter>
>>>>         <parameter>
>>>>          <name>password</name>
>>>>          <value>*******</value>
>>>>         </parameter>
>>>>         <parameter>
>>>>          <name>driverClassName</name>
>>>>          <value>org.gjt.mm.mysql.Driver</value>
>>>>         </parameter>
>>>>         <parameter>
>>>>           <name>url</name>
>>>>           <value>jdbc:mysql://localhost:3306/auk?
>> autoReconnect=true</value>
>>>>         </parameter>
>>>>         <parameter>
>>>>           <name>logAbandoned</name>
>>>>           <value>true</value>
>>>>         </parameter>
>>>>         <parameter>
>>>>           <name>removeAbandoned</name>
>>>>           <value>true</value>
>>>>         </parameter>
>>>>         </ResourceParams>
>>>>       </Context>
>>>>
>>>>     </Host>
>>>>    </Engine>
>>>>  </Service>
>>>> </Server>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
>>>> For additional commands, e-mail:
>>>> commons-user-help@jakarta.apache.org
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>>
>>>  ---------------------------------------------------------------------
>>>  To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
>>> For
>>>  additional commands, e-mail: commons-user-help@jakarta.apache.org
>>
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
>> For additional commands, e-mail: commons-user-help@jakarta.apache.org
> - Brian
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org For
> additional commands, e-mail: commons-user-help@jakarta.apache.org




Re: [DBCP]: Tomcat+MySQL. Intermitent DbcpException: Server configuration -> Now pool exhausted

Posted by Brian Bonner <br...@paraware.com>.
Make sure the rs, stmt and conn are closed in the finally block in your 
code.
Brian

Perhaps an exception is being thrown along the way after a conn is 
obtained, but thenconn is not closed because code is never reached.

On Fri, 22 Aug 2003 10:58AM -0500, Monica Ferrero wrote:
> Hello!
>
> Sorry not to have given any signs of life...
> Yes, I got an answer in the mySQL list, that pointed out that my number 
> of
> connections 500, was a lot more than the normal value of 100. Changing 
> that
> solved the problem of the Server configuration error, but I've gone 
> back to
> getting java.sql.SQLException: DBCP could not obtain an idle db 
> connection,
> pool exhausted (whole exception follows).
> I thought the configuration
>         <parameter>
>           <name>logAbandoned</name>
>           <value>true</value>
>         </parameter>
>         <parameter>
>           <name>removeAbandoned</name>
>           <value>true</value>
>         </parameter>
> would free and log abandoned connections, but it doesn't seem to do it.
> Anyway, I have checked over all my result sets, statements and 
> connections
> and I think they are all closed properly...
>
> So I'm still a bit stuck here...
> Some other person in this list, suggested that there might be some 
> problems
> with the DBCP, could it be so?
> Any other suggestions?
>
> Any help really appreciated.
>
> Monica
>
> 2003-08-20 04:04:57 ApplicationDispatcher[] Servlet.service() for 
> servlet
> StructureServlet threw exception
> javax.servlet.ServletException: Error initialising boxes
>         at 
> com.ah.auk.core.BoxManager.configureBoxes(BoxManager.java:72)
>         at com.ah.auk.structure.StructureServlet.doGet
> (StructureServlet.java:88)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java)
>         at 
> org.apache.catalina.core.ApplicationDispatcher.invoke(Unknown
> Source)
>         at 
> org.apache.catalina.core.ApplicationDispatcher.doForward(Unknown
> Source)
>         at 
> org.apache.catalina.core.ApplicationDispatcher.forward(Unknown
> Source)
>         at 
> org.apache.catalina.valves.ErrorDispatcherValve.custom(Unknown
> Source)
>         at 
> org.apache.catalina.valves.ErrorDispatcherValve.status(Unknown
> Source)
>         at 
> org.apache.catalina.valves.ErrorDispatcherValve.invoke(Unknown
> Source)
>         at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> eNext(Unknown Source)
>         at org.apache.catalina.valves.ErrorReportValve.invoke(Unknown
> Source)
>         at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> eNext(Unknown Source)
>         at org.apache.catalina.core.StandardPipeline.invoke(Unknown 
> Source)
>         at org.apache.catalina.core.ContainerBase.invoke(Unknown 
> Source)
>         at org.apache.catalina.core.StandardEngineValve.invoke(Unknown
> Source)
>         at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> eNext(Unknown Source)
>         at org.apache.catalina.core.StandardPipeline.invoke(Unknown 
> Source)
>         at org.apache.catalina.core.ContainerBase.invoke(Unknown 
> Source)
>         at org.apache.coyote.tomcat4.CoyoteAdapter.service
> (CoyoteAdapter.java:223)
>         at org.apache.jk.server.JkCoyoteHandler.invoke
> (JkCoyoteHandler.java:261)
>         at org.apache.jk.common.HandlerRequest.invoke
> (HandlerRequest.java:360)
>         at 
> org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:604)
>         at org.apache.jk.common.ChannelSocket.processConnection
> (ChannelSocket.java:562)
>         at org.apache.jk.common.SocketConnection.runIt
> (ChannelSocket.java:679)
>         at 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
> (ThreadPool.java:619)
>         at java.lang.Thread.run(Thread.java:534)
> ----- Root Cause -----
> com.ah.auk.core.BoxException: java.sql.SQLException: DBCP could not 
> obtain
> an idle db connection, pool exhausted
>         at 
> com.ah.auk.box.CountyListBox.configure(CountyListBox.java:80)
>         at 
> com.ah.auk.core.BoxManager.configureBoxes(BoxManager.java:41)
>         at com.ah.auk.structure.StructureServlet.doGet
> (StructureServlet.java:88)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java)
>         at 
> org.apache.catalina.core.ApplicationDispatcher.invoke(Unknown
> Source)
>         at 
> org.apache.catalina.core.ApplicationDispatcher.doForward(Unknown
> Source)
>         at 
> org.apache.catalina.core.ApplicationDispatcher.forward(Unknown
> Source)
>         at 
> org.apache.catalina.valves.ErrorDispatcherValve.custom(Unknown
> Source)
>         at 
> org.apache.catalina.valves.ErrorDispatcherValve.status(Unknown
> Source)
>         at 
> org.apache.catalina.valves.ErrorDispatcherValve.invoke(Unknown
> Source)
>         at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> eNext(Unknown Source)
>         at org.apache.catalina.valves.ErrorReportValve.invoke(Unknown
> Source)
>         at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> eNext(Unknown Source)
>         at org.apache.catalina.core.StandardPipeline.invoke(Unknown 
> Source)
>         at org.apache.catalina.core.ContainerBase.invoke(Unknown 
> Source)
>         at org.apache.coyote.tomcat4.CoyoteAdapter.service
> (CoyoteAdapter.java:223)
>         at org.apache.jk.server.JkCoyoteHandler.invoke
> (JkCoyoteHandler.java:261)
>         at org.apache.jk.common.HandlerRequest.invoke
> (HandlerRequest.java:360)
>         at 
> org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:604)
>         at org.apache.jk.common.ChannelSocket.processConnection
> (ChannelSocket.java:562)
>         at org.apache.jk.common.SocketConnection.runIt
> (ChannelSocket.java:679)
>         at 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
> (ThreadPool.java:619)
>         at java.lang.Thread.run(Thread.java:534)
> Caused by: java.sql.SQLException: DBCP could not obtain an idle db
> connection, pool exhausted
>         at org.apache.commons.dbcp.AbandonedObjectPool.borrowObject
> (AbandonedObjectPool.java:123)
>         at org.apache.commons.dbcp.PoolingDataSource.getConnection
> (PoolingDataSource.java:110)
>         at org.apache.commons.dbcp.BasicDataSource.getConnection
> (BasicDataSource.java:312)
>         at com.ah.auk.db.DBUtil.getDBConnection(DBUtil.java:54)
>         at com.ah.auk.db.DB.checkDBCon(DB.java:36)
>         at com.ah.auk.db.GeoDBReader.getGeoId(GeoDBReader.java:40)
>         at 
> com.ah.auk.box.CountyListBox.getCountryId(CountyListBox.java:160)
>         at 
> com.ah.auk.box.CountyListBox.configure(CountyListBox.java:57)
>         ... 27 more
>
>
>
>>  Hi Monica
>>
>>  Did the solution you got on this list solve your problem ?
>>  http://weblists.camelot.co.pt/10/10093.html?grp=
>>
>>  Or is there still something wrong?
>>
>>
>>  Dirk
>>
>>
>>
>>
>>  Monica Ferrero wrote:
>>
>>> Hi!
>>>
>>>
>>> I'm using Tomcat 4.1.24 with Apache 2 and MySQL 4.0.13. I have the
>>> mysql- connector-java-2.0.14-bin.jar in commons/lib.
>>> The application runs normally, and usually about once or twice a day I
>>> get this exception org.apache.commons.dbcp.DbcpException:
>>> java.sql.SQLException: Server configuration denies access to data
>>> source. Once the exception occurs, it happens for every request and
>>> Tomcat needs restarting.
>>>
>>> Before getting this exception, I used to run out of connections, and
>>> therefore I added to the server.xml
>>>
>>>         <parameter>
>>>           <name>logAbandoned</name>
>>>           <value>true</value>
>>>         </parameter>
>>>         <parameter>
>>>           <name>removeAbandoned</name>
>>>           <value>true</value>
>>>         </parameter>
>>>
>>> I guess it could be related...
>>>
>>> I include the exception and my server.xml file.
>>>
>>> Any help appreciated.
>>>
>>>
>>> Monica
>>>
>>>
>>>
>>>
>>> 2003-08-07 15:55:02 StandardWrapperValve[StructureServlet]:
>>> Servlet.service () for servlet StructureServlet threw exception
>>> org.apache.commons.dbcp.DbcpException: java.sql.SQLException: Server
>>> configuration denies access to data source
>>>         at
>>>         
>>> org.apache.commons.dbcp.DriverConnectionFactory.createConnection
>>> (DriverConnectionFactory.java:85)
>>>         at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject
>>> (PoolableConnectionFactory.java:184)
>>>         at org.apache.commons.pool.impl.GenericObjectPool.borrowObject
>>> (GenericObjectPool.java)
>>>         at org.apache.commons.dbcp.AbandonedObjectPool.borrowObject
>>> (AbandonedObjectPool.java:117)
>>>         at org.apache.commons.dbcp.PoolingDataSource.getConnection
>>> (PoolingDataSource.java:110)
>>>         at org.apache.commons.dbcp.BasicDataSource.getConnection
>>> (BasicDataSource.java:312)
>>>         at com.ah.auk.db.DBUtil.getDBConnection(DBUtil.java:54)
>>>         at com.ah.auk.db.DB.checkDBCon(DB.java:34)
>>>         at com.ah.auk.db.HotelDBReader.getHotelsInGeoEntry
>>> (HotelDBReader.java:64)
>>>         at com.ah.auk.delegates.CountyHelper.getHotelsPerCounty
>>> (CountyHelper.java:100)
>>>         at
>>>         
>>> com.ah.auk.box.CountyListBox.getCounties(CountyListBox.java:118)
>>>         at
>>>         com.ah.auk.box.CountyListBox.configure(CountyListBox.java:63)
>>>         at
>>>         com.ah.auk.core.BoxManager.configureBoxes(BoxManager.java:41)
>>>         at com.ah.auk.structure.StructureServlet.doGet
>>> (StructureServlet.java:74)
>>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java) at
>>>         javax.servlet.http.HttpServlet.service(HttpServlet.java) at
>>>         
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
>>> (Unknown Source)
>>>         at
>>>         
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown
>>> Source)
>>>         at
>>>         
>>> com.ah.auk.context.ContextFilter.doFilter(ContextFilter.java:158)
>>>         at
>>>         
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
>>> (Unknown Source)
>>>         at
>>>         
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown
>>> Source)
>>>         at org.apache.catalina.core.StandardWrapperValve.invoke(Unknown
>>> Source)
>>>         at
>>> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.inv
> ok
>>> eNext(Unknown Source)
>>>         at org.apache.catalina.core.StandardPipeline.invoke(Unknown
>>>         Source) at
>>>         org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
>>>         at org.apache.catalina.core.StandardContextValve.invoke(Unknown
>>> Source)
>>>         at
>>> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.inv
> ok
>>> eNext(Unknown Source)
>>>         at org.apache.catalina.core.StandardPipeline.invoke(Unknown
>>>         Source) at
>>>         org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
>>>         at org.apache.catalina.core.StandardContext.invoke(Unknown
>>>         Source) at
>>>         org.apache.catalina.core.StandardHostValve.invoke(Unknown
>>>         Source) at
>>> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.inv
> ok
>>> eNext(Unknown Source)
>>>         at
>>>         org.apache.catalina.valves.ErrorDispatcherValve.invoke(Unknown
>>> Source)
>>>         at
>>> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.inv
> ok
>>> eNext(Unknown Source)
>>>         at org.apache.catalina.valves.ErrorReportValve.invoke(Unknown
>>> Source)
>>>         at
>>> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.inv
> ok
>>> eNext(Unknown Source)
>>>         at org.apache.catalina.core.StandardPipeline.invoke(Unknown
>>>         Source) at
>>>         org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
>>>         at org.apache.catalina.core.StandardEngineValve.invoke(Unknown
>>> Source)
>>>         at
>>> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.inv
> ok
>>> eNext(Unknown Source)
>>>         at org.apache.catalina.core.StandardPipeline.invoke(Unknown
>>>         Source) at
>>>         org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
>>>         at org.apache.coyote.tomcat4.CoyoteAdapter.service
>>> (CoyoteAdapter.java:223)
>>>         at org.apache.jk.server.JkCoyoteHandler.invoke
>>> (JkCoyoteHandler.java:261)
>>>         at org.apache.jk.common.HandlerRequest.invoke
>>> (HandlerRequest.java:360)
>>>         at
>>>         
>>> org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:604)
>>>         at org.apache.jk.common.ChannelSocket.processConnection
>>> (ChannelSocket.java:562)
>>>         at org.apache.jk.common.SocketConnection.runIt
>>> (ChannelSocket.java:679)
>>>         at
>>>         org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
>>> (ThreadPool.java:619)
>>>         at java.lang.Thread.run(Thread.java:534)
>>> Caused by: java.sql.SQLException: Server configuration denies access to
>>> data source
>>>         at com.mysql.jdbc.MysqlIO.init(Unknown Source)
>>>         at com.mysql.jdbc.Connection.connectionInit(Unknown Source) at
>>>         com.mysql.jdbc.jdbc2.Connection.connectionInit(Unknown Source)
>>>         at com.mysql.jdbc.Driver.connect(Unknown Source)
>>>         at
>>>         
>>> org.apache.commons.dbcp.DriverConnectionFactory.createConnection
>>> (DriverConnectionFactory.java:83)
>>> ... 49 more
>>>
>>>
>>> SERVER.XML:
>>> ----------
>>>
>>> <Server port="8005" shutdown="SHUTDOWN" debug="0">
>>>   <Listener
>>>   className="org.apache.catalina.mbeans.ServerLifecycleListener"
>>> debug="0"/>
>>>   <Listener
>>> className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"
>>> debug="0"/>
>>>
>>>   <GlobalNamingResources/>
>>>
>>>   <Service name="Tomcat-Standalone">
>>>
>>>     <!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 -->
>>>     <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
>>>                port="8009" minProcessors="5" maxProcessors="75"
>>>                enableLookups="true" redirectPort="8443"
>>>                acceptCount="10" debug="0" connectionTimeout="0"
>>>                useURIValidationHack="false"
>>>
>>> protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>
>>>
>>>     <Engine name="Standalone" defaultHost="localhost" debug="0">
>>>
>>>       <Logger className="org.apache.catalina.logger.FileLogger"
>>> prefix="catalina_log." suffix=".txt"
>>>               timestamp="true"/>
>>>
>>>       <Host name="localhost" debug="0" appBase="webapps"
>>>        unpackWARs="true" autoDeploy="false">
>>>          <Logger className="org.apache.catalina.logger.FileLogger"
>>>                  directory="logs"  prefix="localhost_log."
>>>                  suffix=".txt" timestamp="true"/>
>>>           <Context path="" docBase="/home/user/auk" debug="0"
>>>                  reloadable="false" crossContext="false">
>>>          <Resource name="jdbc/allukmasterDB"
>>>                auth="Container"
>>>                type="javax.sql.DataSource"/>
>>>
>>>         <ResourceParams name="jdbc/allukmasterDB">
>>>         <parameter>
>>>          <name>factory</name>
>>>          <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
>>>         </parameter>
>>>         <parameter>
>>>          <name>maxActive</name>
>>>          <value>500</value>
>>>         </parameter>
>>>         <parameter>
>>>          <name>maxIdle</name>
>>>          <value>30</value>
>>>         </parameter>
>>>         <parameter>
>>>          <name>maxWait</name>
>>>          <value>10000</value>
>>>         </parameter>
>>>         <parameter>
>>>           <name>username</name>
>>>           <value>******</value>
>>>         </parameter>
>>>         <parameter>
>>>          <name>password</name>
>>>          <value>*******</value>
>>>         </parameter>
>>>         <parameter>
>>>          <name>driverClassName</name>
>>>          <value>org.gjt.mm.mysql.Driver</value>
>>>         </parameter>
>>>         <parameter>
>>>           <name>url</name>
>>>           <value>jdbc:mysql://localhost:3306/auk?
> autoReconnect=true</value>
>>>         </parameter>
>>>         <parameter>
>>>           <name>logAbandoned</name>
>>>           <value>true</value>
>>>         </parameter>
>>>         <parameter>
>>>           <name>removeAbandoned</name>
>>>           <value>true</value>
>>>         </parameter>
>>>         </ResourceParams>
>>>       </Context>
>>>
>>>     </Host>
>>>    </Engine>
>>>  </Service>
>>> </Server>
>>>
>>>
>>>
>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org For
>>> additional commands, e-mail: commons-user-help@jakarta.apache.org
>>>
>>>
>>>
>>>
>>>
>>>
>>
>>
>>
>>
>>  ---------------------------------------------------------------------
>>  To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org 
>> For
>>  additional commands, e-mail: commons-user-help@jakarta.apache.org
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: commons-user-help@jakarta.apache.org
- Brian

Re: [DBCP]: Tomcat+MySQL. Intermitent DbcpException: Server configuration -> Now pool exhausted

Posted by Monica Ferrero <mo...@activehotels.com>.
Hello!

Sorry not to have given any signs of life...
Yes, I got an answer in the mySQL list, that pointed out that my number of
connections 500, was a lot more than the normal value of 100. Changing that
solved the problem of the Server configuration error, but I've gone back to
getting java.sql.SQLException: DBCP could not obtain an idle db connection,
pool exhausted (whole exception follows).
I thought the configuration
        <parameter>
          <name>logAbandoned</name>
          <value>true</value>
        </parameter>
        <parameter>
          <name>removeAbandoned</name>
          <value>true</value>
        </parameter>
would free and log abandoned connections, but it doesn't seem to do it.
Anyway, I have checked over all my result sets, statements and connections
and I think they are all closed properly...

So I'm still a bit stuck here...
Some other person in this list, suggested that there might be some problems
with the DBCP, could it be so?
Any other suggestions?

Any help really appreciated.

Monica

2003-08-20 04:04:57 ApplicationDispatcher[] Servlet.service() for servlet
StructureServlet threw exception
javax.servlet.ServletException: Error initialising boxes
        at com.ah.auk.core.BoxManager.configureBoxes(BoxManager.java:72)
        at com.ah.auk.structure.StructureServlet.doGet
(StructureServlet.java:88)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(Unknown
Source)
        at org.apache.catalina.core.ApplicationDispatcher.doForward(Unknown
Source)
        at org.apache.catalina.core.ApplicationDispatcher.forward(Unknown
Source)
        at org.apache.catalina.valves.ErrorDispatcherValve.custom(Unknown
Source)
        at org.apache.catalina.valves.ErrorDispatcherValve.status(Unknown
Source)
        at org.apache.catalina.valves.ErrorDispatcherValve.invoke(Unknown
Source)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(Unknown Source)
        at org.apache.catalina.valves.ErrorReportValve.invoke(Unknown
Source)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(Unknown Source)
        at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
        at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
        at org.apache.catalina.core.StandardEngineValve.invoke(Unknown
Source)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(Unknown Source)
        at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
        at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
        at org.apache.coyote.tomcat4.CoyoteAdapter.service
(CoyoteAdapter.java:223)
        at org.apache.jk.server.JkCoyoteHandler.invoke
(JkCoyoteHandler.java:261)
        at org.apache.jk.common.HandlerRequest.invoke
(HandlerRequest.java:360)
        at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:604)
        at org.apache.jk.common.ChannelSocket.processConnection
(ChannelSocket.java:562)
        at org.apache.jk.common.SocketConnection.runIt
(ChannelSocket.java:679)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
(ThreadPool.java:619)
        at java.lang.Thread.run(Thread.java:534)
----- Root Cause -----
com.ah.auk.core.BoxException: java.sql.SQLException: DBCP could not obtain
an idle db connection, pool exhausted
        at com.ah.auk.box.CountyListBox.configure(CountyListBox.java:80)
        at com.ah.auk.core.BoxManager.configureBoxes(BoxManager.java:41)
        at com.ah.auk.structure.StructureServlet.doGet
(StructureServlet.java:88)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(Unknown
Source)
        at org.apache.catalina.core.ApplicationDispatcher.doForward(Unknown
Source)
        at org.apache.catalina.core.ApplicationDispatcher.forward(Unknown
Source)
        at org.apache.catalina.valves.ErrorDispatcherValve.custom(Unknown
Source)
        at org.apache.catalina.valves.ErrorDispatcherValve.status(Unknown
Source)
        at org.apache.catalina.valves.ErrorDispatcherValve.invoke(Unknown
Source)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(Unknown Source)
        at org.apache.catalina.valves.ErrorReportValve.invoke(Unknown
Source)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(Unknown Source)
        at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
        at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
        at org.apache.coyote.tomcat4.CoyoteAdapter.service
(CoyoteAdapter.java:223)
        at org.apache.jk.server.JkCoyoteHandler.invoke
(JkCoyoteHandler.java:261)
        at org.apache.jk.common.HandlerRequest.invoke
(HandlerRequest.java:360)
        at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:604)
        at org.apache.jk.common.ChannelSocket.processConnection
(ChannelSocket.java:562)
        at org.apache.jk.common.SocketConnection.runIt
(ChannelSocket.java:679)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
(ThreadPool.java:619)
        at java.lang.Thread.run(Thread.java:534)
Caused by: java.sql.SQLException: DBCP could not obtain an idle db
connection, pool exhausted
        at org.apache.commons.dbcp.AbandonedObjectPool.borrowObject
(AbandonedObjectPool.java:123)
        at org.apache.commons.dbcp.PoolingDataSource.getConnection
(PoolingDataSource.java:110)
        at org.apache.commons.dbcp.BasicDataSource.getConnection
(BasicDataSource.java:312)
        at com.ah.auk.db.DBUtil.getDBConnection(DBUtil.java:54)
        at com.ah.auk.db.DB.checkDBCon(DB.java:36)
        at com.ah.auk.db.GeoDBReader.getGeoId(GeoDBReader.java:40)
        at com.ah.auk.box.CountyListBox.getCountryId(CountyListBox.java:160)
        at com.ah.auk.box.CountyListBox.configure(CountyListBox.java:57)
        ... 27 more



> Hi Monica
>
> Did the solution you got on this list solve your problem ?
> http://weblists.camelot.co.pt/10/10093.html?grp=
>
> Or is there still something wrong?
>
>
> Dirk
>
>
>
>
> Monica Ferrero wrote:
>
>>Hi!
>>
>>
>>I'm using Tomcat 4.1.24 with Apache 2 and MySQL 4.0.13. I have the
>>mysql- connector-java-2.0.14-bin.jar in commons/lib.
>>The application runs normally, and usually about once or twice a day I
>>get this exception org.apache.commons.dbcp.DbcpException:
>>java.sql.SQLException: Server configuration denies access to data
>>source. Once the exception occurs, it happens for every request and
>>Tomcat needs restarting.
>>
>>Before getting this exception, I used to run out of connections, and
>>therefore I added to the server.xml
>>
>>        <parameter>
>>          <name>logAbandoned</name>
>>          <value>true</value>
>>        </parameter>
>>        <parameter>
>>          <name>removeAbandoned</name>
>>          <value>true</value>
>>        </parameter>
>>
>>I guess it could be related...
>>
>>I include the exception and my server.xml file.
>>
>>Any help appreciated.
>>
>>
>>Monica
>>
>>
>>
>>
>>2003-08-07 15:55:02 StandardWrapperValve[StructureServlet]:
>>Servlet.service () for servlet StructureServlet threw exception
>>org.apache.commons.dbcp.DbcpException: java.sql.SQLException: Server
>>configuration denies access to data source
>>        at
>>        org.apache.commons.dbcp.DriverConnectionFactory.createConnection
>>(DriverConnectionFactory.java:85)
>>        at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject
>>(PoolableConnectionFactory.java:184)
>>        at org.apache.commons.pool.impl.GenericObjectPool.borrowObject
>>(GenericObjectPool.java)
>>        at org.apache.commons.dbcp.AbandonedObjectPool.borrowObject
>>(AbandonedObjectPool.java:117)
>>        at org.apache.commons.dbcp.PoolingDataSource.getConnection
>>(PoolingDataSource.java:110)
>>        at org.apache.commons.dbcp.BasicDataSource.getConnection
>>(BasicDataSource.java:312)
>>        at com.ah.auk.db.DBUtil.getDBConnection(DBUtil.java:54)
>>        at com.ah.auk.db.DB.checkDBCon(DB.java:34)
>>        at com.ah.auk.db.HotelDBReader.getHotelsInGeoEntry
>>(HotelDBReader.java:64)
>>        at com.ah.auk.delegates.CountyHelper.getHotelsPerCounty
>>(CountyHelper.java:100)
>>        at
>>        com.ah.auk.box.CountyListBox.getCounties(CountyListBox.java:118)
>>        at
>>        com.ah.auk.box.CountyListBox.configure(CountyListBox.java:63)
>>        at
>>        com.ah.auk.core.BoxManager.configureBoxes(BoxManager.java:41)
>>        at com.ah.auk.structure.StructureServlet.doGet
>>(StructureServlet.java:74)
>>        at javax.servlet.http.HttpServlet.service(HttpServlet.java) at
>>        javax.servlet.http.HttpServlet.service(HttpServlet.java) at
>>        org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
>>(Unknown Source)
>>        at
>>        org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown
>>Source)
>>        at
>>        com.ah.auk.context.ContextFilter.doFilter(ContextFilter.java:158)
>>        at
>>        org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
>>(Unknown Source)
>>        at
>>        org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown
>>Source)
>>        at org.apache.catalina.core.StandardWrapperValve.invoke(Unknown
>>Source)
>>        at
>>org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.inv
ok
>>eNext(Unknown Source)
>>        at org.apache.catalina.core.StandardPipeline.invoke(Unknown
>>        Source) at
>>        org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
>>        at org.apache.catalina.core.StandardContextValve.invoke(Unknown
>>Source)
>>        at
>>org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.inv
ok
>>eNext(Unknown Source)
>>        at org.apache.catalina.core.StandardPipeline.invoke(Unknown
>>        Source) at
>>        org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
>>        at org.apache.catalina.core.StandardContext.invoke(Unknown
>>        Source) at
>>        org.apache.catalina.core.StandardHostValve.invoke(Unknown
>>        Source) at
>>org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.inv
ok
>>eNext(Unknown Source)
>>        at
>>        org.apache.catalina.valves.ErrorDispatcherValve.invoke(Unknown
>>Source)
>>        at
>>org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.inv
ok
>>eNext(Unknown Source)
>>        at org.apache.catalina.valves.ErrorReportValve.invoke(Unknown
>>Source)
>>        at
>>org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.inv
ok
>>eNext(Unknown Source)
>>        at org.apache.catalina.core.StandardPipeline.invoke(Unknown
>>        Source) at
>>        org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
>>        at org.apache.catalina.core.StandardEngineValve.invoke(Unknown
>>Source)
>>        at
>>org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.inv
ok
>>eNext(Unknown Source)
>>        at org.apache.catalina.core.StandardPipeline.invoke(Unknown
>>        Source) at
>>        org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
>>        at org.apache.coyote.tomcat4.CoyoteAdapter.service
>>(CoyoteAdapter.java:223)
>>        at org.apache.jk.server.JkCoyoteHandler.invoke
>>(JkCoyoteHandler.java:261)
>>        at org.apache.jk.common.HandlerRequest.invoke
>>(HandlerRequest.java:360)
>>        at
>>        org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:604)
>>        at org.apache.jk.common.ChannelSocket.processConnection
>>(ChannelSocket.java:562)
>>        at org.apache.jk.common.SocketConnection.runIt
>>(ChannelSocket.java:679)
>>        at
>>        org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
>>(ThreadPool.java:619)
>>        at java.lang.Thread.run(Thread.java:534)
>>Caused by: java.sql.SQLException: Server configuration denies access to
>>data source
>>        at com.mysql.jdbc.MysqlIO.init(Unknown Source)
>>        at com.mysql.jdbc.Connection.connectionInit(Unknown Source) at
>>        com.mysql.jdbc.jdbc2.Connection.connectionInit(Unknown Source)
>>        at com.mysql.jdbc.Driver.connect(Unknown Source)
>>        at
>>        org.apache.commons.dbcp.DriverConnectionFactory.createConnection
>>(DriverConnectionFactory.java:83)
>>... 49 more
>>
>>
>>SERVER.XML:
>>----------
>>
>><Server port="8005" shutdown="SHUTDOWN" debug="0">
>>  <Listener
>>  className="org.apache.catalina.mbeans.ServerLifecycleListener"
>>debug="0"/>
>>  <Listener
>>className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"
>>debug="0"/>
>>
>>  <GlobalNamingResources/>
>>
>>  <Service name="Tomcat-Standalone">
>>
>>    <!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 -->
>>    <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
>>               port="8009" minProcessors="5" maxProcessors="75"
>>               enableLookups="true" redirectPort="8443"
>>               acceptCount="10" debug="0" connectionTimeout="0"
>>               useURIValidationHack="false"
>>
>>protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>
>>
>>    <Engine name="Standalone" defaultHost="localhost" debug="0">
>>
>>      <Logger className="org.apache.catalina.logger.FileLogger"
>>prefix="catalina_log." suffix=".txt"
>>              timestamp="true"/>
>>
>>      <Host name="localhost" debug="0" appBase="webapps"
>>       unpackWARs="true" autoDeploy="false">
>>         <Logger className="org.apache.catalina.logger.FileLogger"
>>                 directory="logs"  prefix="localhost_log."
>>                 suffix=".txt" timestamp="true"/>
>>          <Context path="" docBase="/home/user/auk" debug="0"
>>                 reloadable="false" crossContext="false">
>>         <Resource name="jdbc/allukmasterDB"
>>               auth="Container"
>>               type="javax.sql.DataSource"/>
>>
>>        <ResourceParams name="jdbc/allukmasterDB">
>>        <parameter>
>>         <name>factory</name>
>>         <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
>>        </parameter>
>>        <parameter>
>>         <name>maxActive</name>
>>         <value>500</value>
>>        </parameter>
>>        <parameter>
>>         <name>maxIdle</name>
>>         <value>30</value>
>>        </parameter>
>>        <parameter>
>>         <name>maxWait</name>
>>         <value>10000</value>
>>        </parameter>
>>        <parameter>
>>          <name>username</name>
>>          <value>******</value>
>>        </parameter>
>>        <parameter>
>>         <name>password</name>
>>         <value>*******</value>
>>        </parameter>
>>        <parameter>
>>         <name>driverClassName</name>
>>         <value>org.gjt.mm.mysql.Driver</value>
>>        </parameter>
>>        <parameter>
>>          <name>url</name>
>>          <value>jdbc:mysql://localhost:3306/auk?
autoReconnect=true</value>
>>        </parameter>
>>        <parameter>
>>          <name>logAbandoned</name>
>>          <value>true</value>
>>        </parameter>
>>        <parameter>
>>          <name>removeAbandoned</name>
>>          <value>true</value>
>>        </parameter>
>>        </ResourceParams>
>>      </Context>
>>
>>    </Host>
>>   </Engine>
>> </Service>
>></Server>
>>
>>
>>
>>
>>
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org For
>>additional commands, e-mail: commons-user-help@jakarta.apache.org
>>
>>
>>
>>
>>
>>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org For
> additional commands, e-mail: commons-user-help@jakarta.apache.org




Re: [DBCP]: Tomcat+MySQL. Intermitent DbcpException: Server configuration denies access to data source

Posted by Dirk Verbeeck <di...@pandora.be>.
Hi Monica

Did the solution you got on this list solve your problem ?
http://weblists.camelot.co.pt/10/10093.html?grp=

Or is there still something wrong?


Dirk




Monica Ferrero wrote:

>Hi!
>
>
>I'm using Tomcat 4.1.24 with Apache 2 and MySQL 4.0.13. I have the mysql-
>connector-java-2.0.14-bin.jar in commons/lib.
>The application runs normally, and usually about once or twice a day I get
>this exception org.apache.commons.dbcp.DbcpException:
>java.sql.SQLException: Server configuration denies access to data source.
>Once the exception occurs, it happens for every request and Tomcat needs
>restarting.
>
>Before getting this exception, I used to run out of connections, and
>therefore I added to the server.xml
>
>        <parameter>
>          <name>logAbandoned</name>
>          <value>true</value>
>        </parameter>
>        <parameter>
>          <name>removeAbandoned</name>
>          <value>true</value>
>        </parameter>
>
>I guess it could be related...
>
>I include the exception and my server.xml file.
>
>Any help appreciated.
>
>
>Monica
>
>
>
>
>2003-08-07 15:55:02 StandardWrapperValve[StructureServlet]: Servlet.service
>() for servlet StructureServlet threw exception
>org.apache.commons.dbcp.DbcpException: java.sql.SQLException: Server
>configuration denies access to data source
>        at org.apache.commons.dbcp.DriverConnectionFactory.createConnection
>(DriverConnectionFactory.java:85)
>        at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject
>(PoolableConnectionFactory.java:184)
>        at org.apache.commons.pool.impl.GenericObjectPool.borrowObject
>(GenericObjectPool.java)
>        at org.apache.commons.dbcp.AbandonedObjectPool.borrowObject
>(AbandonedObjectPool.java:117)
>        at org.apache.commons.dbcp.PoolingDataSource.getConnection
>(PoolingDataSource.java:110)
>        at org.apache.commons.dbcp.BasicDataSource.getConnection
>(BasicDataSource.java:312)
>        at com.ah.auk.db.DBUtil.getDBConnection(DBUtil.java:54)
>        at com.ah.auk.db.DB.checkDBCon(DB.java:34)
>        at com.ah.auk.db.HotelDBReader.getHotelsInGeoEntry
>(HotelDBReader.java:64)
>        at com.ah.auk.delegates.CountyHelper.getHotelsPerCounty
>(CountyHelper.java:100)
>        at com.ah.auk.box.CountyListBox.getCounties(CountyListBox.java:118)
>        at com.ah.auk.box.CountyListBox.configure(CountyListBox.java:63)
>        at com.ah.auk.core.BoxManager.configureBoxes(BoxManager.java:41)
>        at com.ah.auk.structure.StructureServlet.doGet
>(StructureServlet.java:74)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java)
>        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
>(Unknown Source)
>        at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown
>Source)
>        at com.ah.auk.context.ContextFilter.doFilter(ContextFilter.java:158)
>        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
>(Unknown Source)
>        at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown
>Source)
>        at org.apache.catalina.core.StandardWrapperValve.invoke(Unknown
>Source)
>        at
>org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
>eNext(Unknown Source)
>        at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
>        at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
>        at org.apache.catalina.core.StandardContextValve.invoke(Unknown
>Source)
>        at
>org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
>eNext(Unknown Source)
>        at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
>        at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
>        at org.apache.catalina.core.StandardContext.invoke(Unknown Source)
>        at org.apache.catalina.core.StandardHostValve.invoke(Unknown Source)
>        at
>org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
>eNext(Unknown Source)
>        at org.apache.catalina.valves.ErrorDispatcherValve.invoke(Unknown
>Source)
>        at
>org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
>eNext(Unknown Source)
>        at org.apache.catalina.valves.ErrorReportValve.invoke(Unknown
>Source)
>        at
>org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
>eNext(Unknown Source)
>        at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
>        at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
>        at org.apache.catalina.core.StandardEngineValve.invoke(Unknown
>Source)
>        at
>org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
>eNext(Unknown Source)
>        at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
>        at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
>        at org.apache.coyote.tomcat4.CoyoteAdapter.service
>(CoyoteAdapter.java:223)
>        at org.apache.jk.server.JkCoyoteHandler.invoke
>(JkCoyoteHandler.java:261)
>        at org.apache.jk.common.HandlerRequest.invoke
>(HandlerRequest.java:360)
>        at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:604)
>        at org.apache.jk.common.ChannelSocket.processConnection
>(ChannelSocket.java:562)
>        at org.apache.jk.common.SocketConnection.runIt
>(ChannelSocket.java:679)
>        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
>(ThreadPool.java:619)
>        at java.lang.Thread.run(Thread.java:534)
>Caused by: java.sql.SQLException: Server configuration denies access to
>data source
>        at com.mysql.jdbc.MysqlIO.init(Unknown Source)
>        at com.mysql.jdbc.Connection.connectionInit(Unknown Source)
>        at com.mysql.jdbc.jdbc2.Connection.connectionInit(Unknown Source)
>        at com.mysql.jdbc.Driver.connect(Unknown Source)
>        at org.apache.commons.dbcp.DriverConnectionFactory.createConnection
>(DriverConnectionFactory.java:83)
>... 49 more
>
>
>SERVER.XML:
>----------
>
><Server port="8005" shutdown="SHUTDOWN" debug="0">
>  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"
>debug="0"/>
>  <Listener
>className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"
>debug="0"/>
>
>  <GlobalNamingResources/>
>
>  <Service name="Tomcat-Standalone">
>
>    <!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 -->
>    <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
>               port="8009" minProcessors="5" maxProcessors="75"
>               enableLookups="true" redirectPort="8443"
>               acceptCount="10" debug="0" connectionTimeout="0"
>               useURIValidationHack="false"
>
>protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>
>
>    <Engine name="Standalone" defaultHost="localhost" debug="0">
>
>      <Logger className="org.apache.catalina.logger.FileLogger"
>prefix="catalina_log." suffix=".txt"
>              timestamp="true"/>
>
>      <Host name="localhost" debug="0" appBase="webapps"
>       unpackWARs="true" autoDeploy="false">
>         <Logger className="org.apache.catalina.logger.FileLogger"
>                 directory="logs"  prefix="localhost_log." suffix=".txt"
>                 timestamp="true"/>
>          <Context path="" docBase="/home/user/auk" debug="0"
>                 reloadable="false" crossContext="false">
>         <Resource name="jdbc/allukmasterDB"
>               auth="Container"
>               type="javax.sql.DataSource"/>
>
>        <ResourceParams name="jdbc/allukmasterDB">
>        <parameter>
>         <name>factory</name>
>         <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
>        </parameter>
>        <parameter>
>         <name>maxActive</name>
>         <value>500</value>
>        </parameter>
>        <parameter>
>         <name>maxIdle</name>
>         <value>30</value>
>        </parameter>
>        <parameter>
>         <name>maxWait</name>
>         <value>10000</value>
>        </parameter>
>        <parameter>
>          <name>username</name>
>          <value>******</value>
>        </parameter>
>        <parameter>
>         <name>password</name>
>         <value>*******</value>
>        </parameter>
>        <parameter>
>         <name>driverClassName</name>
>         <value>org.gjt.mm.mysql.Driver</value>
>        </parameter>
>        <parameter>
>          <name>url</name>
>          <value>jdbc:mysql://localhost:3306/auk?autoReconnect=true</value>
>        </parameter>
>        <parameter>
>          <name>logAbandoned</name>
>          <value>true</value>
>        </parameter>
>        <parameter>
>          <name>removeAbandoned</name>
>          <value>true</value>
>        </parameter>
>        </ResourceParams>
>      </Context>
>
>    </Host>
>   </Engine>
> </Service>
></Server>
>
>
>
>
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
>For additional commands, e-mail: commons-user-help@jakarta.apache.org
>
>
>
>
>  
>




RE: [DBCP]: Tomcat+MySQL. Intermitent DbcpException: Server configuration denies access to data source

Posted by Monica Ferrero <mo...@activehotels.com>.
Hello!

I'm not sure I understand what you mean. I have finally statements that
assure that my result sets, statements and connections are close.
Are you suggesting a way I can check they are actually properly closed
using the JDBC connection pool API?

Monica

> Hi,
> I think you are using JDBC connection pooling check your
> connection,statement and Resultsets are properly closed or not.
> Connection should be closed otherwise your connection pool reject your
> connections
>
> By
> kabar
>
> -----Original Message-----
> From: Monica Ferrero [mailto:monicaf@activehotels.com]
> Sent: Monday, August 11, 2003 8:23 AM
> To: commons-user@jakarta.apache.org
> Subject: [DBCP]: Tomcat+MySQL. Intermitent DbcpException: Server
> configuration denies access to data source
>
>
>
>
> Hi!
>
>
> I'm using Tomcat 4.1.24 with Apache 2 and MySQL 4.0.13. I have the
> mysql- connector-java-2.0.14-bin.jar in commons/lib.
> The application runs normally, and usually about once or twice a day I
> get this exception org.apache.commons.dbcp.DbcpException:
> java.sql.SQLException: Server configuration denies access to data
> source. Once the exception occurs, it happens for every request and
> Tomcat needs restarting.
>
> Before getting this exception, I used to run out of connections, and
> therefore I added to the server.xml
>
>        <parameter>
>          <name>logAbandoned</name>
>          <value>true</value>
>        </parameter>
>        <parameter>
>          <name>removeAbandoned</name>
>          <value>true</value>
>        </parameter>
>
> I guess it could be related...
>
> I include the exception and my server.xml file.
>
> Any help appreciated.
>
>
> Monica
>
>
>
>
> 2003-08-07 15:55:02 StandardWrapperValve[StructureServlet]:
> Servlet.service () for servlet StructureServlet threw exception
> org.apache.commons.dbcp.DbcpException: java.sql.SQLException: Server
> configuration denies access to data source
>        at
>        org.apache.commons.dbcp.DriverConnectionFactory.createConnection
> (DriverConnectionFactory.java:85)
>        at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject
> (PoolableConnectionFactory.java:184)
>        at org.apache.commons.pool.impl.GenericObjectPool.borrowObject
> (GenericObjectPool.java)
>        at org.apache.commons.dbcp.AbandonedObjectPool.borrowObject
> (AbandonedObjectPool.java:117)
>        at org.apache.commons.dbcp.PoolingDataSource.getConnection
> (PoolingDataSource.java:110)
>        at org.apache.commons.dbcp.BasicDataSource.getConnection
> (BasicDataSource.java:312)
>        at com.ah.auk.db.DBUtil.getDBConnection(DBUtil.java:54)
>        at com.ah.auk.db.DB.checkDBCon(DB.java:34)
>        at com.ah.auk.db.HotelDBReader.getHotelsInGeoEntry
> (HotelDBReader.java:64)
>        at com.ah.auk.delegates.CountyHelper.getHotelsPerCounty
> (CountyHelper.java:100)
>        at
>        com.ah.auk.box.CountyListBox.getCounties(CountyListBox.java:118)
>        at com.ah.auk.box.CountyListBox.configure(CountyListBox.java:63)
>        at com.ah.auk.core.BoxManager.configureBoxes(BoxManager.java:41)
>        at com.ah.auk.structure.StructureServlet.doGet
> (StructureServlet.java:74)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java) at
>        javax.servlet.http.HttpServlet.service(HttpServlet.java) at
>        org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
> (Unknown Source)
>        at
>        org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown
> Source)
>        at
>        com.ah.auk.context.ContextFilter.doFilter(ContextFilter.java:158)
>        at
>        org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
> (Unknown Source)
>        at
>        org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown
> Source)
>        at org.apache.catalina.core.StandardWrapperValve.invoke(Unknown
> Source)
>        at
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> eNext(Unknown Source)
>        at org.apache.catalina.core.StandardPipeline.invoke(Unknown
>        Source) at org.apache.catalina.core.ContainerBase.invoke(Unknown
>        Source) at
>        org.apache.catalina.core.StandardContextValve.invoke(Unknown
> Source)
>        at
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> eNext(Unknown Source)
>        at org.apache.catalina.core.StandardPipeline.invoke(Unknown
>        Source) at org.apache.catalina.core.ContainerBase.invoke(Unknown
>        Source) at
>        org.apache.catalina.core.StandardContext.invoke(Unknown Source)
>        at org.apache.catalina.core.StandardHostValve.invoke(Unknown
>        Source) at
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> eNext(Unknown Source)
>        at
>        org.apache.catalina.valves.ErrorDispatcherValve.invoke(Unknown
> Source)
>        at
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> eNext(Unknown Source)
>        at org.apache.catalina.valves.ErrorReportValve.invoke(Unknown
> Source)
>        at
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> eNext(Unknown Source)
>        at org.apache.catalina.core.StandardPipeline.invoke(Unknown
>        Source) at org.apache.catalina.core.ContainerBase.invoke(Unknown
>        Source) at
>        org.apache.catalina.core.StandardEngineValve.invoke(Unknown
> Source)
>        at
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> eNext(Unknown Source)
>        at org.apache.catalina.core.StandardPipeline.invoke(Unknown
>        Source) at org.apache.catalina.core.ContainerBase.invoke(Unknown
>        Source) at org.apache.coyote.tomcat4.CoyoteAdapter.service
> (CoyoteAdapter.java:223)
>        at org.apache.jk.server.JkCoyoteHandler.invoke
> (JkCoyoteHandler.java:261)
>        at org.apache.jk.common.HandlerRequest.invoke
> (HandlerRequest.java:360)
>        at
>        org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:604)
>        at org.apache.jk.common.ChannelSocket.processConnection
> (ChannelSocket.java:562)
>        at org.apache.jk.common.SocketConnection.runIt
> (ChannelSocket.java:679)
>        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
> (ThreadPool.java:619)
>        at java.lang.Thread.run(Thread.java:534)
> Caused by: java.sql.SQLException: Server configuration denies access to
> data source
>        at com.mysql.jdbc.MysqlIO.init(Unknown Source)
>        at com.mysql.jdbc.Connection.connectionInit(Unknown Source) at
>        com.mysql.jdbc.jdbc2.Connection.connectionInit(Unknown Source)
>        at com.mysql.jdbc.Driver.connect(Unknown Source)
>        at
>        org.apache.commons.dbcp.DriverConnectionFactory.createConnection
> (DriverConnectionFactory.java:83)
> ... 49 more
>
>
> SERVER.XML:
> ----------
>
> <Server port="8005" shutdown="SHUTDOWN" debug="0">
>  <Listener
>  className="org.apache.catalina.mbeans.ServerLifecycleListener"
> debug="0"/>
>  <Listener
> className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"
> debug="0"/>
>
>  <GlobalNamingResources/>
>
>  <Service name="Tomcat-Standalone">
>
>    <!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 -->
>    <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
>               port="8009" minProcessors="5" maxProcessors="75"
>               enableLookups="true" redirectPort="8443"
>               acceptCount="10" debug="0" connectionTimeout="0"
>               useURIValidationHack="false"
>
> protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>
>
>    <Engine name="Standalone" defaultHost="localhost" debug="0">
>
>      <Logger className="org.apache.catalina.logger.FileLogger"
> prefix="catalina_log." suffix=".txt"
>              timestamp="true"/>
>
>      <Host name="localhost" debug="0" appBase="webapps"
>       unpackWARs="true" autoDeploy="false">
>         <Logger className="org.apache.catalina.logger.FileLogger"
>                 directory="logs"  prefix="localhost_log." suffix=".txt"
>                 timestamp="true"/>
>          <Context path="" docBase="/home/user/auk" debug="0"
>                 reloadable="false" crossContext="false">
>         <Resource name="jdbc/allukmasterDB"
>               auth="Container"
>               type="javax.sql.DataSource"/>
>
>        <ResourceParams name="jdbc/allukmasterDB">
>        <parameter>
>         <name>factory</name>
>         <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
>        </parameter>
>        <parameter>
>         <name>maxActive</name>
>         <value>500</value>
>        </parameter>
>        <parameter>
>         <name>maxIdle</name>
>         <value>30</value>
>        </parameter>
>        <parameter>
>         <name>maxWait</name>
>         <value>10000</value>
>        </parameter>
>        <parameter>
>          <name>username</name>
>          <value>******</value>
>        </parameter>
>        <parameter>
>         <name>password</name>
>         <value>*******</value>
>        </parameter>
>        <parameter>
>         <name>driverClassName</name>
>         <value>org.gjt.mm.mysql.Driver</value>
>        </parameter>
>        <parameter>
>          <name>url</name>
>          <value>jdbc:mysql://localhost:3306/auk?autoReconnect=true</value>
>        </parameter>
>        <parameter>
>          <name>logAbandoned</name>
>          <value>true</value>
>        </parameter>
>        <parameter>
>          <name>removeAbandoned</name>
>          <value>true</value>
>        </parameter>
>        </ResourceParams>
>      </Context>
>
>    </Host>
>   </Engine>
> </Service>
> </Server>



RE: [DBCP]: Tomcat+MySQL. Intermitent DbcpException: Server configuration denies access to data source

Posted by Kabar <ka...@wisorindia.soft.net>.
Hi,
I think you are using JDBC connection pooling check your
connection,statement and Resultsets are properly closed or not. Connection
should be closed otherwise your connection pool reject your connections

By
kabar

-----Original Message-----
From: Monica Ferrero [mailto:monicaf@activehotels.com]
Sent: Monday, August 11, 2003 8:23 AM
To: commons-user@jakarta.apache.org
Subject: [DBCP]: Tomcat+MySQL. Intermitent DbcpException: Server
configuration denies access to data source




Hi!


I'm using Tomcat 4.1.24 with Apache 2 and MySQL 4.0.13. I have the mysql-
connector-java-2.0.14-bin.jar in commons/lib.
The application runs normally, and usually about once or twice a day I get
this exception org.apache.commons.dbcp.DbcpException:
java.sql.SQLException: Server configuration denies access to data source.
Once the exception occurs, it happens for every request and Tomcat needs
restarting.

Before getting this exception, I used to run out of connections, and
therefore I added to the server.xml

        <parameter>
          <name>logAbandoned</name>
          <value>true</value>
        </parameter>
        <parameter>
          <name>removeAbandoned</name>
          <value>true</value>
        </parameter>

I guess it could be related...

I include the exception and my server.xml file.

Any help appreciated.


Monica




2003-08-07 15:55:02 StandardWrapperValve[StructureServlet]: Servlet.service
() for servlet StructureServlet threw exception
org.apache.commons.dbcp.DbcpException: java.sql.SQLException: Server
configuration denies access to data source
        at org.apache.commons.dbcp.DriverConnectionFactory.createConnection
(DriverConnectionFactory.java:85)
        at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject
(PoolableConnectionFactory.java:184)
        at org.apache.commons.pool.impl.GenericObjectPool.borrowObject
(GenericObjectPool.java)
        at org.apache.commons.dbcp.AbandonedObjectPool.borrowObject
(AbandonedObjectPool.java:117)
        at org.apache.commons.dbcp.PoolingDataSource.getConnection
(PoolingDataSource.java:110)
        at org.apache.commons.dbcp.BasicDataSource.getConnection
(BasicDataSource.java:312)
        at com.ah.auk.db.DBUtil.getDBConnection(DBUtil.java:54)
        at com.ah.auk.db.DB.checkDBCon(DB.java:34)
        at com.ah.auk.db.HotelDBReader.getHotelsInGeoEntry
(HotelDBReader.java:64)
        at com.ah.auk.delegates.CountyHelper.getHotelsPerCounty
(CountyHelper.java:100)
        at com.ah.auk.box.CountyListBox.getCounties(CountyListBox.java:118)
        at com.ah.auk.box.CountyListBox.configure(CountyListBox.java:63)
        at com.ah.auk.core.BoxManager.configureBoxes(BoxManager.java:41)
        at com.ah.auk.structure.StructureServlet.doGet
(StructureServlet.java:74)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(Unknown Source)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown
Source)
        at com.ah.auk.context.ContextFilter.doFilter(ContextFilter.java:158)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(Unknown Source)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(Unknown
Source)
        at org.apache.catalina.core.StandardWrapperValve.invoke(Unknown
Source)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(Unknown Source)
        at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
        at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
        at org.apache.catalina.core.StandardContextValve.invoke(Unknown
Source)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(Unknown Source)
        at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
        at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
        at org.apache.catalina.core.StandardContext.invoke(Unknown Source)
        at org.apache.catalina.core.StandardHostValve.invoke(Unknown Source)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(Unknown Source)
        at org.apache.catalina.valves.ErrorDispatcherValve.invoke(Unknown
Source)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(Unknown Source)
        at org.apache.catalina.valves.ErrorReportValve.invoke(Unknown
Source)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(Unknown Source)
        at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
        at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
        at org.apache.catalina.core.StandardEngineValve.invoke(Unknown
Source)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(Unknown Source)
        at org.apache.catalina.core.StandardPipeline.invoke(Unknown Source)
        at org.apache.catalina.core.ContainerBase.invoke(Unknown Source)
        at org.apache.coyote.tomcat4.CoyoteAdapter.service
(CoyoteAdapter.java:223)
        at org.apache.jk.server.JkCoyoteHandler.invoke
(JkCoyoteHandler.java:261)
        at org.apache.jk.common.HandlerRequest.invoke
(HandlerRequest.java:360)
        at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:604)
        at org.apache.jk.common.ChannelSocket.processConnection
(ChannelSocket.java:562)
        at org.apache.jk.common.SocketConnection.runIt
(ChannelSocket.java:679)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
(ThreadPool.java:619)
        at java.lang.Thread.run(Thread.java:534)
Caused by: java.sql.SQLException: Server configuration denies access to
data source
        at com.mysql.jdbc.MysqlIO.init(Unknown Source)
        at com.mysql.jdbc.Connection.connectionInit(Unknown Source)
        at com.mysql.jdbc.jdbc2.Connection.connectionInit(Unknown Source)
        at com.mysql.jdbc.Driver.connect(Unknown Source)
        at org.apache.commons.dbcp.DriverConnectionFactory.createConnection
(DriverConnectionFactory.java:83)
... 49 more


SERVER.XML:
----------

<Server port="8005" shutdown="SHUTDOWN" debug="0">
  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"
debug="0"/>
  <Listener
className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"
debug="0"/>

  <GlobalNamingResources/>

  <Service name="Tomcat-Standalone">

    <!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 -->
    <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
               port="8009" minProcessors="5" maxProcessors="75"
               enableLookups="true" redirectPort="8443"
               acceptCount="10" debug="0" connectionTimeout="0"
               useURIValidationHack="false"

protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>

    <Engine name="Standalone" defaultHost="localhost" debug="0">

      <Logger className="org.apache.catalina.logger.FileLogger"
prefix="catalina_log." suffix=".txt"
              timestamp="true"/>

      <Host name="localhost" debug="0" appBase="webapps"
       unpackWARs="true" autoDeploy="false">
         <Logger className="org.apache.catalina.logger.FileLogger"
                 directory="logs"  prefix="localhost_log." suffix=".txt"
                 timestamp="true"/>
          <Context path="" docBase="/home/user/auk" debug="0"
                 reloadable="false" crossContext="false">
         <Resource name="jdbc/allukmasterDB"
               auth="Container"
               type="javax.sql.DataSource"/>

        <ResourceParams name="jdbc/allukmasterDB">
        <parameter>
         <name>factory</name>
         <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
        </parameter>
        <parameter>
         <name>maxActive</name>
         <value>500</value>
        </parameter>
        <parameter>
         <name>maxIdle</name>
         <value>30</value>
        </parameter>
        <parameter>
         <name>maxWait</name>
         <value>10000</value>
        </parameter>
        <parameter>
          <name>username</name>
          <value>******</value>
        </parameter>
        <parameter>
         <name>password</name>
         <value>*******</value>
        </parameter>
        <parameter>
         <name>driverClassName</name>
         <value>org.gjt.mm.mysql.Driver</value>
        </parameter>
        <parameter>
          <name>url</name>
          <value>jdbc:mysql://localhost:3306/auk?autoReconnect=true</value>
        </parameter>
        <parameter>
          <name>logAbandoned</name>
          <value>true</value>
        </parameter>
        <parameter>
          <name>removeAbandoned</name>
          <value>true</value>
        </parameter>
        </ResourceParams>
      </Context>

    </Host>
   </Engine>
 </Service>
</Server>






---------------------------------------------------------------------
To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-user-help@jakarta.apache.org