Почему мой сервер перестает отвечать и есть ли способ его контролировать?

У меня есть веб-приложение Java, которое я запускаю в Tomcat 8.0. До этого момента у меня не было проблем с приложением, но основной пользователь попросил, чтобы несколько вещей были на главной странице приложения, и я добавляю их по одному с основной целью тестирования функциональности по мере продвижения.

Здесь недавно я серьезно занялся тестированием, чтобы убедиться, что сайт будет работать должным образом, когда он будет готов к развертыванию. Проведя несколько тестов подряд, я заметил, что сервер просто зависает. Сначала я подумал, что это место в памяти, но я проверил все журналы и, похоже, не получаю никаких ошибок, кроме

29-Oct-2014 16:28:16.520 INFO [main] org.apache.catalina.core.AprLifecycleListener.init The APR 
based Apache Tomcat Native library which allows optimal performance in production environments 
was not found on the java.library.path: 

Остальное мне показалось вполне нормальным:

29-Oct-2014 16:28:16.658 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-4273"]
29-Oct-2014 16:28:16.682 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector     Using a shared selector for servlet write/read
29-Oct-2014 16:28:16.684 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-nio-8009"]
29-Oct-2014 16:28:16.686 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
29-Oct-2014 16:28:16.686 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 344 ms
29-Oct-2014 16:28:16.703 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service Catalina
29-Oct-2014 16:28:16.703 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.0.9
29-Oct-2014 16:28:16.718 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive C:\Tomcat 8.0\webapps\SecureAutoData1.war
29-Oct-2014 16:28:17.281 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive C:\Tomcat 8.0\webapps\SecureAutoData1.war has finished in 562 ms
29-Oct-2014 16:28:17.281 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory C:\Tomcat 8.0\webapps\docs
29-Oct-2014 16:28:17.459 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory C:\Tomcat 8.0\webapps\docs has finished in 178 ms
29-Oct-2014 16:28:17.459 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory C:\Tomcat 8.0\webapps\examples
29-Oct-2014 16:28:17.786 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory C:\Tomcat 8.0\webapps\examples has finished in 327 ms
29-Oct-2014 16:28:17.786 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory C:\Tomcat 8.0\webapps\host-manager
29-Oct-2014 16:28:17.965 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory C:\Tomcat 8.0\webapps\host-manager has finished in 179 ms
29-Oct-2014 16:28:17.965 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory C:\Tomcat 8.0\webapps\manager
29-Oct-2014 16:28:18.119 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory C:\Tomcat 8.0\webapps\manager has finished in 154 ms
29-Oct-2014 16:28:18.119 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory C:\Tomcat 8.0\webapps\ROOT
29-Oct-2014 16:28:18.261 INFO [localhost-startStop-1]     org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory     C:\Tomcat 8.0\webapps\ROOT has finished in 142 ms
29-Oct-2014 16:28:18.262 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-4273"]
29-Oct-2014 16:28:18.267 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
29-Oct-2014 16:28:18.268 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in     1581 ms

commons-dqemon.2014-10-29:

[2014-10-29 16:11:18] [info]  [ 5144] Commons Daemon procrun (1.0.15.0 64-bit) started
[2014-10-29 16:11:18] [info]  [ 5144] Running 'Tomcat8' Service...
[2014-10-29 16:11:18] [info]  [ 3344] Starting service...
[2014-10-29 16:11:19] [info]  [ 3344] Service started in 1106 ms.
[2014-10-29 16:27:57] [info]  [ 6536] Stopping service...
[2014-10-29 16:28:02] [info]  [ 6536] Service stop thread completed.
[2014-10-29 16:28:02] [info]  [ 5144] Run service finished.
[2014-10-29 16:28:02] [info]  [ 5144] Commons Daemon procrun finished
[2014-10-29 16:28:16] [info]  [ 6532] Commons Daemon procrun (1.0.15.0 64-bit) started
[2014-10-29 16:28:16] [info]  [ 6532] Running 'Tomcat8' Service...
[2014-10-29 16:28:16] [info]  [ 7900] Starting service...
[2014-10-29 16:28:17] [info]  [ 7900] Service started in 1111 ms.

tomcat8-stdout.2014-10-29:

2014-10-29 16:11:18 Commons Daemon procrun stdout initialized
Session ID 7D825AD72EAFB71E3E22DC3FBE59D196 destroyed at Wed Oct 29 16:12:20 EDT 2014
Session ID 8F72C027CFB28678FFE8A614353BBED7 created at Wed Oct 29 16:16:47 EDT 2014
Session ID 8F70D0F8CE0EBC149412E6DC9525AC55 created at Wed Oct 29 16:27:40 EDT 2014

2014-10-29 16:28:16 Commons Daemon procrun stdout initialized
Session ID 8F72C027CFB28678FFE8A614353BBED7 destroyed at Wed Oct 29 16:34:18 EDT 2014

Пока я не дохожу до того, что сервер блокируется и я завершаю работу приложения, я получаю сообщение об ошибке, что приложение все еще обрабатывает запрос после его завершения, и о потенциальной угрозе утечки памяти. который представлен в файле журнала catalina ниже:

29-Oct-2014 16:11:19.169 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-4273"]
29-Oct-2014 16:11:19.190 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
29-Oct-2014 16:11:19.192 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-nio-8009"]
29-Oct-2014 16:11:19.194 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
29-Oct-2014 16:11:19.194 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 337 ms
29-Oct-2014 16:11:19.209 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service Catalina
29-Oct-2014 16:11:19.209 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.0.9
29-Oct-2014 16:11:19.224 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive C:\Tomcat 8.0\webapps\SecureAutoData1.war
29-Oct-2014 16:11:19.788 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive C:\Tomcat 8.0\webapps\SecureAutoData1.war has finished in 563 ms
29-Oct-2014 16:11:19.788 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory C:\Tomcat 8.0\webapps\docs
29-Oct-2014 16:11:19.960 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory C:\Tomcat 8.0\webapps\docs has finished in 172 ms
29-Oct-2014 16:11:19.960 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory C:\Tomcat 8.0\webapps\examples
29-Oct-2014 16:11:20.303 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory C:\Tomcat 8.0\webapps\examples has finished in 343 ms
29-Oct-2014 16:11:20.303 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory C:\Tomcat 8.0\webapps\host-manager
29-Oct-2014 16:11:20.472 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory C:\Tomcat 8.0\webapps\host-manager has finished in 169 ms
29-Oct-2014 16:11:20.472 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory C:\Tomcat 8.0\webapps\manager
29-Oct-2014 16:11:20.633 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory C:\Tomcat 8.0\webapps\manager has finished in 161 ms
29-Oct-2014 16:11:20.634 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory C:\Tomcat 8.0\webapps\ROOT
29-Oct-2014 16:11:20.790 INFO [localhost-startStop-1]     org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory     C:\Tomcat 8.0\webapps\ROOT has finished in 156 ms
29-Oct-2014 16:11:20.792 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-4273"]
29-Oct-2014 16:11:20.797 INFO [main] org.apache.coyote.AbstractProtocol.start Starting     ProtocolHandler ["ajp-nio-8009"]
29-Oct-2014 16:11:20.798 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in     1603 ms
29-Oct-2014 16:27:57.767 INFO [Thread-6] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["http-nio-4273"]
29-Oct-2014 16:27:57.820 INFO [Thread-6] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["ajp-nio-8009"]
29-Oct-2014 16:27:57.870 INFO [Thread-6] org.apache.catalina.core.StandardService.stopInternal Stopping service Catalina
29-Oct-2014 16:27:57.885 INFO [localhost-startStop-2] org.apache.catalina.core.StandardWrapper.unload Waiting for 1 instance(s) to be deallocated for Servlet [LoginControl]
29-Oct-2014 16:27:58.885 INFO [localhost-startStop-2] org.apache.catalina.core.StandardWrapper.unload Waiting for 1 instance(s) to be deallocated for Servlet [LoginControl]
29-Oct-2014 16:27:59.885 INFO [localhost-startStop-2] org.apache.catalina.core.StandardWrapper.unload Waiting for 1 instance(s) to be deallocated for Servlet [LoginControl]
29-Oct-2014 16:27:59.986 INFO [localhost-startStop-2] org.apache.catalina.core.StandardWrapper.unload Waiting for 1 instance(s) to be deallocated for Servlet [DirectoryAssistance]
29-Oct-2014 16:28:00.986 INFO [localhost-startStop-2] org.apache.catalina.core.StandardWrapper.unload Waiting for 1 instance(s) to be deallocated for Servlet [DirectoryAssistance]
29-Oct-2014 16:28:01.986 INFO [localhost-startStop-2] org.apache.catalina.core.StandardWrapper.unload     Waiting for 1 instance(s) to be deallocated for Servlet [DirectoryAssistance]
29-Oct-2014 16:28:02.102 WARNING [localhost-startStop-2]     org.apache.catalina.loader.WebappClassLoader.clearReferencesThreads The web application     [/SecureAutoData1] appears to have started a thread named [Abandoned connection cleanup thread] but     has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
 java.lang.Object.wait(Native Method)
 java.lang.ref.ReferenceQueue.remove(Unknown Source)
 com.mysql.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:41)
29-Oct-2014 16:28:02.103 WARNING [localhost-startStop-2]     org.apache.catalina.loader.WebappClassLoader.clearReferencesThreads The web application     [/SecureAutoData1] is still processing a request that has yet to finish. This is very likely to     create a memory leak. You can control the time allowed for requests to finish by using the     unloadDelay attribute of the standard Context implementation. Stack trace of request processing         thread:
 sun.misc.Unsafe.park(Native Method)
 java.util.concurrent.locks.LockSupport.park(Unknown Source)
 java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
 org.apache.tomcat.dbcp.pool2.impl.LinkedBlockingDeque.takeFirst(LinkedBlockingDeque.java:523)
 org.apache.tomcat.dbcp.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:435)
 org.apache.tomcat.dbcp.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:358)
 org.apache.tomcat.dbcp.dbcp2.PoolingDataSource.getConnection(PoolingDataSource.java:118)
 org.apache.tomcat.dbcp.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1412)
 com.secureautodata.business.data.DBConnector.getConnection(DBConnector.java:47)
 com.secureautodata.business.data.LeadFactory.fetchAdminLeads(LeadFactory.java:49)
 com.secureautodata.control.DirectoryAssistance.doPost(DirectoryAssistance.java:668)
 javax.servlet.http.HttpServlet.service(HttpServlet.java:644)
 javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
     org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
         org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:136)
 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
 org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:526)
 org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
 org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:655)
         org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:22    2)
 org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566)
 org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523)
 java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
 java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
 org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
 java.lang.Thread.run(Unknown Source)
29-Oct-2014 16:28:02.105 WARNING [localhost-startStop-2]     org.apache.catalina.loader.WebappClassLoader.clearReferencesThreads The web application     [/SecureAutoData1] is still processing a request that has yet to finish. This is very likely to         create a memory leak. You can control the time allowed for requests to finish by using the     unloadDelay attribute of the standard Context implementation. Stack trace of request processing     thread:
 sun.misc.Unsafe.park(Native Method)
 java.util.concurrent.locks.LockSupport.park(Unknown Source)
 java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
 org.apache.tomcat.dbcp.pool2.impl.LinkedBlockingDeque.takeFirst(LinkedBlockingDeque.java:523)
 org.apache.tomcat.dbcp.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:435)
 org.apache.tomcat.dbcp.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:358)
 org.apache.tomcat.dbcp.dbcp2.PoolingDataSource.getConnection(PoolingDataSource.java:118)
 org.apache.tomcat.dbcp.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1412)
 com.secureautodata.business.data.DBConnector.getConnection(DBConnector.java:47)
 com.secureautodata.business.data.DealerFactory.fetchDealer(DealerFactory.java:278)
 com.secureautodata.control.LoginControl.doPost(LoginControl.java:99)
 javax.servlet.http.HttpServlet.service(HttpServlet.java:644)
 javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
         org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
         org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:136)
 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
 org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:526)
 org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
 org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:655)
         org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:22    2)
 org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566)
 org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523)
 java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
 java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
 org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
 java.lang.Thread.run(Unknown Source)
29-Oct-2014 16:28:02.119 INFO [Thread-6] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-nio-4273"]
29-Oct-2014 16:28:02.188 INFO [Thread-6] org.apache.coyote.AbstractProtocol.stop Stopping     ProtocolHandler ["ajp-nio-8009"]
29-Oct-2014 16:28:16.520 INFO [main] org.apache.catalina.core.AprLifecycleListener.init The APR based     Apache Tomcat Native library which allows optimal performance in production environments was not     found on the java.library.path: C:\Tomcat     8.0\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files (x86)\Intel\iCLS     Client\;C:\Program Files\Intel\iCLS     Client\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell    \v1.0\;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files     (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management     Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine     Components\IPT;C:\Program Files\Java\jdk1.8.0_11\bin;C:\Program Files (x86)\MySQL\MySQL Utilities     1.3.6\;C:\Program Files\MySQL\MySQL Server     5.6\bin;C:\wamp\bin\php\php5.5.12;C:\ProgramData\ComposerSetup\bin;C:\Maven\apache-maven-    3.2.2\bin;C:\apache-ant-1.9.4-bin\apache-ant-1.9.4\bin;C:\Python27;C:\Program Files     (x86)\scala\bin;C:\Program Files (x86)\scala\bin;;.
29-Oct-2014 16:28:16.658 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-4273"]
29-Oct-2014 16:28:16.682 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
29-Oct-2014 16:28:16.684 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-nio-8009"]
29-Oct-2014 16:28:16.686 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
29-Oct-2014 16:28:16.686 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 344 ms
29-Oct-2014 16:28:16.703 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service Catalina
29-Oct-2014 16:28:16.703 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.0.9
29-Oct-2014 16:28:16.718 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive C:\Tomcat 8.0\webapps\SecureAutoData1.war
29-Oct-2014 16:28:17.281 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive C:\Tomcat 8.0\webapps\SecureAutoData1.war has finished in 562 ms
29-Oct-2014 16:28:17.281 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory C:\Tomcat 8.0\webapps\docs
29-Oct-2014 16:28:17.459 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory C:\Tomcat 8.0\webapps\docs has finished in 178 ms
29-Oct-2014 16:28:17.459 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory C:\Tomcat 8.0\webapps\examples
29-Oct-2014 16:28:17.786 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory C:\Tomcat 8.0\webapps\examples has finished in 327 ms
29-Oct-2014 16:28:17.786 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory C:\Tomcat 8.0\webapps\host-manager
29-Oct-2014 16:28:17.965 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory C:\Tomcat 8.0\webapps\host-manager has finished in 179 ms
29-Oct-2014 16:28:17.965 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory C:\Tomcat 8.0\webapps\manager
29-Oct-2014 16:28:18.119 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory C:\Tomcat 8.0\webapps\manager has finished in 154 ms
29-Oct-2014 16:28:18.119 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory C:\Tomcat 8.0\webapps\ROOT
29-Oct-2014 16:28:18.261 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory C:\Tomcat 8.0\webapps\ROOT has finished in 142 ms
29-Oct-2014 16:28:18.262 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-4273"]
29-Oct-2014 16:28:18.267 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
29-Oct-2014 16:28:18.268 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 1581 ms

Единственный раз, когда я вижу ошибку, - это когда я закрываю веб-приложение, потому что оно не загружается, я оставил его более чем на 15 минут и вернулся к компьютеру, чтобы увидеть, что ожидание на локальном хосте все еще находится внизу того же экран, который был там, когда я уходил.

Я прошу прощения за то, что включил всю информацию, которая у меня есть из всех файлов, в мои журналы, но я хотел быть внимательным. Я заметил, что речь идет об ошибке одновременной блокировки, но, кроме моего пула соединений и любых потоков, которые выполняет сам сервер, я не верю, что есть какие-либо другие потоки, в которых я написал, или, может быть, это проблема. Я не совсем уверен, я надеюсь, что вы, ребята, можете мне помочь. Заранее спасибо!

Хорошо Итак, я думаю, что ответ определенно заключается в том, что соединение пула соединений не выпускается, я очень спешил, пытаясь завершить следующую часть моего проекта, и забыл добавить свои операторы выпуска и закрытия в несколько моих классов данных, однако я вернулся и добавил операторы выпуска, а затем запустил свой проект, я получил эту ошибку:

Oct 29, 2014 9:40:10 PM org.apache.catalina.core.ApplicationDispatcher invoke
SEVERE: Servlet.service() for servlet jsp threw exception
java.util.ServiceConfigurationError: javax.xml.parsers.SAXParserFactory: Provider         org.apache.xerces.jaxp.SAXParserFactoryImpl not found
    at java.util.ServiceLoader.fail(Unknown Source)
    at java.util.ServiceLoader.access$300(Unknown Source)
    at java.util.ServiceLoader$LazyIterator.nextService(Unknown Source)
    at java.util.ServiceLoader$LazyIterator.next(Unknown Source)
    at java.util.ServiceLoader$1.next(Unknown Source)
    at javax.xml.parsers.FactoryFinder$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.xml.parsers.FactoryFinder.findServiceProvider(Unknown Source)
    at javax.xml.parsers.FactoryFinder.find(Unknown Source)
    at javax.xml.parsers.SAXParserFactory.newInstance(Unknown Source)
    at org.apache.taglibs.standard.tlv.JstlBaseTLV.validate(JstlBaseTLV.java:161)
    at org.apache.taglibs.standard.tlv.JstlCoreTLV.validate(JstlCoreTLV.java:105)
    at org.apache.jasper.compiler.TagLibraryInfoImpl.validate(TagLibraryInfoImpl.java:378)
    at org.apache.jasper.compiler.Validator.validateXmlView(Validator.java:1883)
    at org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1852)
    at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:217)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:356)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:336)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:323)
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:335)
    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 com.secureautodata.control.LoginControl.handler(LoginControl.java:199)
    at com.secureautodata.control.LoginControl.doPost(LoginControl.java:111)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:644)
    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.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
    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.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:534)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1081)

person Community    schedule 29.10.2014    source источник
comment
Это пахнет утечкой соединения с базой данных: какая-то функция не закрывает соединение и, следовательно, не возвращает соединение в пул. Через некоторое время все функции, использующие соединение с базой данных, будут ждать (бесконечно) соединения с базой данных из пустого пула (обозначенного заимствованными объектами и takeFirst в трассировке стека). Подсказки о том, как решить эту проблему, можно найти здесь.   -  person vanOekel    schedule 30.10.2014
comment
@vanOekel Я должен предположить, что вы правы. Я очень спешил, чтобы выполнить итерацию, и полностью упустил из виду выпуск и закрытие операторов и наборов результатов. В мой вопрос есть некоторые правки, но я получил новую ошибку что я не уверен, с чего начать, есть идеи?   -  person    schedule 30.10.2014
comment
Вы пробовали найти ответы здесь?   -  person vanOekel    schedule 30.10.2014
comment
@vanOekel Я собираюсь опубликовать ответ на этот вопрос, и вы, несомненно, должны получить за него кредит. Проблема с блокировкой заключалась в том, что я беспокоился о том, чтобы выполнить итерацию в срок, а не должным образом или эффективно освободить соединение, когда это было сделано, используя в классе сборки для моего расписания, как я забыл, эта деталь вне меня, потому что я был настолько стратегическим чтобы сделать это во всех других моих классах сборки. Скорее всего, это также было проблемой моей разбивки на страницы, потому что она представляла те же проблемы. Другой проблемой, которую я обнаружил, была конфликтная зависимость в maven.   -  person    schedule 31.10.2014
comment
Нет проблем, приятно видеть, что вы нашли время, чтобы написать полный ответ на свой вопрос. И вы всегда можете проголосовать за любые ответы / вопросы (на которые я ссылался в своих комментариях), которые вам помогли.   -  person vanOekel    schedule 31.10.2014


Ответы (4)


Итак, ответ на этот вопрос все время был у меня под носом. @vanOekel представил мне, что это может быть проблема с пулом соединений, когда соединения не освобождаются. В спешке, пытаясь связать часть своего проекта, я полностью упустил из виду закрытие открытых соединений в одном из моих классов.

После решения этой проблемы я столкнулся с ошибкой, когда мой файл pom.xml представлял зависимость, которая конфликтовала с парой файлов .jar, которые я добавил в свою библиотеку. Основным из них была jar соединителя mysql, я переустановил tomcat на свой компьютер на работе, и в качестве быстрой работы вместо включения jar в мою библиотеку tomcat я просто добавил его в свой pom.xml как зависимость, вызывающую конфликт с моим установка tomcat и IDE на моем домашнем компьютере.

После удаления этой зависимости из pom.xml и моей зависимости jstl от моего pom.xml все работало как мечта.

Я проверил несколько прогонов и обнаружил, что он больше не блокируется. Кажется, что соединения освобождаются, как и предполагалось, и что сайт теперь работает правильно.

person Community    schedule 30.10.2014

Это может оказаться полезным для некоторых из вас, которые ищут похожие ответы, но используют другие драйверы JDBC:

Я обнаружил, что драйвер postgres особенно недружелюбен, он не только не отменяет регистрацию, но также запускает какой-то поток таймера, который не останавливается и не отвечает на запрос interrupt (), поэтому даже отмена регистрации вручную не работает сразу и предотвращает полное завершение работы Tomcat.

Следующий код, добавленный к методу contextDestroyed ServletContextListener, очень помогает с чистым (-ish) завершением работы. Мне пришлось вызвать stop () в ошибочном потоке, но я не вижу другого способа его убить.

@Override
public void contextDestroyed(ServletContextEvent sce) {
    killUnstoppableThreads();
    unregisterJdbcDrivers();
}

private void unregisterJdbcDrivers() {
    Enumeration<Driver> drivers = DriverManager.getDrivers();
    Driver d = null;
    while (drivers.hasMoreElements()) {
        try {
            d = drivers.nextElement();
            DriverManager.deregisterDriver(d);
            logger.error(String.format("Driver %s deregistered", d));

        } catch (SQLException ex) {
            logger.error(String.format("Error deregistering driver %s", d), ex);
        }
    }

}

private void killUnstoppableThreads() {
    ThreadMXBean threadMxBean = ManagementFactory.getThreadMXBean();
    ThreadInfo[] threadInfo = threadMxBean.dumpAllThreads(true, true);

    String threadName = "PostgreSQL-JDBC-SharedTimer-";
    long id = -1;
    for (ThreadInfo info : threadInfo) {
        if (info.getThreadName() != null && info.getThreadName().startsWith(threadName)) {
            id = info.getThreadId();
            for (Thread t : Thread.getAllStackTraces().keySet()) {
                if (t.getId() == id) {
                    logger.info("Killing " + info.getThreadName() + " thread");
                    t.stop(); // thread doesn't respond to interrupt()!
                    break;
                }
            }
        }
    }
}
person thunder    schedule 04.01.2016

Возьмите дамп потока и посмотрите, есть ли какие-либо потоки, содержащие код приложения в состоянии WAIT, на случай, если вы ищете узкое место параллелизма. На * nix вы можете получить дамп потока, отправив

убить -3

Под Windows вы можете отправить в окно приложения. Дамп потока идет на стандартный вывод.

Надеюсь это поможет.

Слава

person Slava Imeshev    schedule 30.10.2014

Самый простой способ отслеживать, что происходит внутри java-процесса на компьютере с Windows, - использовать инструмент jconsole, поставляемый с jdk.

На веб-сайте Oracle есть руководство по его использованию: http://docs.oracle.com/javase/7/docs/technotes/guides/management/jconsole.html

person Marek Smigielski    schedule 29.10.2014