info [abandoned connection cleanup thread] org.apache.catalina.loader.webapp
时间: 2024-04-25 13:25:40 浏览: 12
这是一个关于 Tomcat Web 服务器的线程名字。它被称为 "[abandoned connection cleanup thread]",是用于清理已废弃的数据库连接的线程。在使用连接池的情况下,当某个连接长时间未被使用或者已经关闭但未被正确释放时,这个线程会负责将其关闭并从连接池中移除,以防止连接资源的浪费和泄露。这个线程是由 Apache Tomcat 的类加载器 (org.apache.catalina.loader.webapp) 创建和管理的。
相关问题
12-Jul-2023 18:36:28.896 SEVERE [localhost-startStop-1] org.apache.catalina.core.StandardContext.startInternal One or more listeners failed to start. Full details will be found in the appropriate container log file 12-Jul-2023 18:36:28.898 SEVERE [localhost-startStop-1] org.apache.catalina.core.StandardContext.startInternal Context [/setting] startup failed due to previous errors 2023-07-12 18:36:28,899 [// - - ] INFO org.springframework.web.context.support.XmlWebApplicationContext - Closing Root WebApplicationContext: startup date [Wed Jul 12 18:36:27 CST 2023]; root of context hierarchy 2023-07-12 18:36:28,900 [// - - ] INFO org.springframework.cache.ehcache.EhCacheManagerFactoryBean - Shutting down EhCache CacheManager 12-Jul-2023 18:36:28.908 WARNING [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc The web application [setting] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered. 12-Jul-2023 18:36:28.908 WARNING [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [setting] 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(ReferenceQueue.java:143) com.mysql.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:40)
这个错误日志表明在启动应用程序上下文时遇到了问题。具体来说,一个或多个监听器无法启动,导致上下文启动失败。
错误日志中提到要查看适当的容器日志文件以获取完整详细信息。因此,您需要查找相关的容器日志文件以了解更多关于错误的信息。容器日志文件通常位于Tomcat服务器的日志目录中。
此外,错误日志还提到了关闭根Web应用程序上下文和关闭EhCache缓存管理器的操作。这是应用程序关闭过程中的正常操作。
此外,错误日志还提到了一个警告,即Web应用程序在停止时未能注销JDBC驱动程序,可能会导致内存泄漏。它还指出Web应用程序启动了一个线程,并且没有停止它,这也可能导致内存泄漏。
为了解决这些问题,您可以尝试以下步骤:
1. 检查相关的容器日志文件,以获取更多关于错误的详细信息。
2. 确保所有的监听器配置正确,并且没有冲突。
3. 确保JDBC驱动程序在应用程序关闭时正确注销。
4. 确保所有启动的线程都被正确停止。
如果问题仍然存在,请提供更多的错误日志信息和相关的配置文件,以便我们能够更好地帮助您解决问题。
09-Jun-2023 15:19:12.806 信息 [main] org.apache.catalina.core.StandardServer.await 通过关闭端口接收到有效的关闭命令。正在停止服务器实例。 09-Jun-2023 15:19:12.807 信息 [main] org.apache.coyote.AbstractProtocol.pause 暂停ProtocolHandler["http-nio-8080"] 09-Jun-2023 15:19:13.217 信息 [main] org.apache.catalina.core.StandardService.stopInternal 正在停止服务[Catalina] 09-Jun-2023 15:19:13.230 警告 [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc Web应用程序 [ROOT] 注册了JDBC驱动程序 [com.mysql.cj.jdbc.Driver],但在Web应用程序停止时无法注销它。 为防止内存泄漏,JDBC驱动程序已被强制取消注册。 09-Jun-2023 15:19:13.230 警告 [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc Web应用程序 [ROOT] 注册了JDBC驱动程序 [org.apache.ibatis.datasource.unpooled.UnpooledDataSource.DriverProxy],但在Web应用程序停止时无法注销它。 为防止内存泄漏,JDBC驱动程序已被强制取消注册。 09-Jun-2023 15:19:13.230 警告 [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads Web应用程序[ROOT]似乎启动了一个名为[mysql-cj-abandoned-connection-cleanup]的线程,但未能停止它。这很可能会造成内存泄漏。线程的堆栈跟踪:[ java.lang.Object.wait(Native Method) java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:144) com.mysql.cj.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:91) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) java.lang.Thread.run(Thread.java:750)] 09-Jun-2023 15:19:13.241 信息 [main] org.apache.coyote.AbstractProtocol.stop 正在停止ProtocolHandler ["http-nio-8080"] 09-Jun-2023 15:19:13.252 信息 [main] org.apache.coyote.AbstractProtocol.destroy 正在摧毁协议处理器 ["http-nio-8080"] 是什么原因
这是Tomcat服务器关闭的日志信息,包含了关闭过程中的一些警告信息。其中:
- 通过关闭端口接收到有效的关闭命令。正在停止服务器实例。:表示Tomcat服务器收到了关闭命令,并正在停止服务器实例。
- 暂停ProtocolHandler["http-nio-8080"]:表示暂停了名为http-nio-8080的HTTP协议处理器。
- 正在停止服务[Catalina]:表示正在停止名为Catalina的服务。
- Web应用程序 [ROOT] 注册了JDBC驱动程序 [com.mysql.cj.jdbc.Driver],但在Web应用程序停止时无法注销它。为防止内存泄漏,JDBC驱动程序已被强制取消注册。:表示Web应用程序注册了名为com.mysql.cj.jdbc.Driver的JDBC驱动程序,但在Web应用程序停止时无法注销它,因此Tomcat强制取消注册,以防止内存泄漏。
- Web应用程序[ROOT]似乎启动了一个名为[mysql-cj-abandoned-connection-cleanup]的线程,但未能停止它。这很可能会造成内存泄漏。线程的堆栈跟踪:[...]:表示Web应用程序启动了一个名为mysql-cj-abandoned-connection-cleanup的线程,但在停止时未能成功停止,可能会导致内存泄漏。