On 1/6/17 3:44 PM, Jerry Malcolm wrote:
> On 1/6/2017 4:30 PM, Christopher Schultz wrote:
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA256
>>
>> Jerry,
>>
>> On 1/6/17 10:35 AM, Jerry Malcolm wrote:
>>> I'm getting "too many connections" errors.
>> Where?
>>
>> Can you provide an exact error message and, better yet, a stack
>> trace?
>>
>>> I'm pretty sure I am configured with enough connections that I
>>> shouldn't run out.  So I'm assuming I'm leaving some connections
>>> open.
>> That's a good assumption.
>>
>>> I have LogAbandoned="true" in my jdbc resource statements.  The
>>> doc says TC will log a stack trace of abandoned connections.  But I
>>> don't see any stack traces.  Would they be in stderr, stdout,
>>> catalina log? Or is it that I'm actually not getting any
>>> abandoned?
>> Which db connection pool are you using? Standard (DBCP-based) or
>> tomcat-pool? A full (sanitized) <Resource> configuration would help.
>>
>> - -chris
>>
> Chris,
> Stack trace follows.  It looks like it may be mySQL that's
> rejecting the connection.  But even if that's the case, it's
> probably because I'm not closing some connections, which should
> still generate a logAbandoned stack trace, correct?  I believe I'm
> using dbcp.  Not doing anything fancy... Just defining data source
> resources in the context file:
>
>    <Resource testOnBorrow="true" validationQuery="SELECT 1"
> name="jdbc/cis" auth="Container" type="javax.sql.DataSource"
> maxTotal="100" maxIdle="30" maxWaitMillis="10000"
> removeAbandoned="true" removeAbandonedTimeout="60"
> logAbandoned="true" username="xxxxxxxx" password="xxxxxxx"
> driverClassName="com.mysql.jdbc.Driver"
> url="jdbc:mysql://localhost:3306/xxxxxxxxxx" />
In dbcp 2, the "removeAbandoned" config option was replaced by
removedAbondonedOnBorrow and removeAbandonedOnMaintenance.  You need
to set one of these to true the get abandoned connection cleanup to
work.  See [1].

|Phil

[1] http://commons.apache.org/proper/commons-dbcp/configuration.html
|||
>
>
>
> java.sql.SQLException: Cannot create PoolableConnectionFactory
> (Data source rejected establishment of connection,  message from
> server: "Too many connections")
>         at
> org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:2195)
>         at
> org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:1945)
>         at
> org.apache.tomcat.dbcp.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1412)
>         at
> jwm.servletdb.ServletDBData.getInstance(ServletDBData.java:139)
>         at
> jwm.servletdb.ServletDBData.getInstance(ServletDBData.java:93)
>         at
> jwm.servletdb.ServletDBData.getInstance(ServletDBData.java:62)
>         at
> org.apache.jsp.jsp.login.login_005fv2_jsp._jspService(login_005fv2_jsp.java:450)
>         at
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
>         at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
>         at
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
>         at
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
>
>         at
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
>         at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>         at
> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
>
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>         at
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:721)
>         at
> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:466)
>         at
> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:391)
>         at
> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:318)
>         at
> org.apache.catalina.authenticator.FormAuthenticator.forwardToLoginPage(FormAuthenticator.java:411)
>         at
> org.apache.catalina.authenticator.FormAuthenticator.authenticate(FormAuthenticator.java:256)
>         at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:470)
>         at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
>         at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
>         at
> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
>         at
> org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:291)
>         at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
>         at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:537)
>         at
> org.apache.coyote.ajp.AbstractAjpProcessor.process(AbstractAjpProcessor.java:831)
>         at
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:658)
>         at
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1556)
>         at
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1513)
>         at
> java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
>         at
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>         at java.lang.Thread.run(Unknown Source)
> Caused by:
> com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:
> Data source rejected establishment of connection,  message from
> server: "Too many connections"
>         at
> sun.reflect.GeneratedConstructorAccessor97.newInstance(Unknown
> Source)
>         at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown
> Source)
>         at java.lang.reflect.Constructor.newInstance(Unknown Source)
>         at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
>         at com.mysql.jdbc.Util.getInstance(Util.java:386)
>         at
> com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1013)
>         at
> com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987)
>         at
> com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982)
>         at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1128)
>         at
> com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2336)
>         at
> com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2369)
>         at
> com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2153)
>         at
> com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:792)
>         at
> com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
>         at
> sun.reflect.GeneratedConstructorAccessor20.newInstance(Unknown
> Source)
>         at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown
> Source)
>         at java.lang.reflect.Constructor.newInstance(Unknown Source)
>         at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
>         at
> com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:381)
>         at
> com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:305)
>         at
> org.apache.tomcat.dbcp.dbcp2.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
>         at
> org.apache.tomcat.dbcp.dbcp2.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:204)
>         at
> org.apache.tomcat.dbcp.dbcp2.BasicDataSource.validateConnectionFactory(BasicDataSource.java:2205)
>         at
> org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:2191)
>         ... 38 more
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
>
>



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to