標籤:worker 方法 ror nim bsp register poi strong executor
1. 開啟項目的頁面如下:
可以從tomcat log中發現Connection has been abandoned PooledConnection和Too many connections。
2017-08-03 18:28:48.022 WARN 6396 --- [o-8080-exec-170] o.a.tomcat.jdbc.pool.ConnectionPool : Connection has been abandoned PooledConnection[[email protected]]:java.lang.Exceptionat org.apache.tomcat.jdbc.pool.ConnectionPool.getThreadDump(ConnectionPool.java:1065)at org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:707)at org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:634)at org.apache.tomcat.jdbc.pool.ConnectionPool.init(ConnectionPool.java:488)at org.apache.tomcat.jdbc.pool.ConnectionPool.<init>(ConnectionPool.java:144)at org.apache.tomcat.jdbc.pool.DataSourceProxy.pCreatePool(DataSourceProxy.java:116)at org.apache.tomcat.jdbc.pool.DataSourceProxy.createPool(DataSourceProxy.java:103)at org.apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:127)......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.StandardWrapperValve.invoke(StandardWrapperValve.java:212)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:521)at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1096)at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:674)at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)at java.lang.Thread.run(Thread.java:745)2017-08-03 18:28:48 ERROR [com.xxx.yyy.a.b] -- <Too many connections>com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Too many connectionsat sun.reflect.GeneratedConstructorAccessor295.newInstance(Unknown Source)at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)at java.lang.reflect.Constructor.newInstance(Constructor.java:422)at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)at com.mysql.jdbc.Util.getInstance(Util.java:384)at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1015)at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3562)at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3494)at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:920)at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:4000)at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1285)at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2186)at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:787)at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:49)at sun.reflect.GeneratedConstructorAccessor288.newInstance(Unknown Source)at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)at java.lang.reflect.Constructor.newInstance(Constructor.java:422)at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:357)at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:278)at org.apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:182)at org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:702)at org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:634)at org.apache.tomcat.jdbc.pool.ConnectionPool.init(ConnectionPool.java:488)at org.apache.tomcat.jdbc.pool.ConnectionPool.<init>(ConnectionPool.java:144)at org.apache.tomcat.jdbc.pool.DataSourceProxy.pCreatePool(DataSourceProxy.java:116)at org.apache.tomcat.jdbc.pool.DataSourceProxy.createPool(DataSourceProxy.java:103)at org.apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:127)......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.StandardWrapperValve.invoke(StandardWrapperValve.java:212)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:521)at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1096)at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:674)at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)at java.lang.Thread.run(Thread.java:745)
2. 解決方案
重啟一下Eclipse,重新跑一下項目即可(Ctrl+Alt+D)。引起這個問題得主要原因是修改代碼儲存時Eclipse會自動重新編譯代碼,而此時你又修改代碼再儲存,就很容易出現這個HTTP 403錯誤。
Eclipse開發時出現HTTP 403 錯誤(禁止訪問)的解決方案