Web 应用程序似乎启动了一个名为 [HikariPool-1 管家] 的线程,但未能阻止它 [英] The web application appears to have started a thread named [HikariPool-1 housekeeper] but has failed to stop it

查看:116
本文介绍了Web 应用程序似乎启动了一个名为 [HikariPool-1 管家] 的线程,但未能阻止它的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在 Tomcat 8.5 中使用 HikariCP JNDI 数据源工厂,但是当它关​​闭时我收到以下警告:

o.a.c.loader.WebappClassLoaderBase :Web 应用程序 [ROOT] 似乎启动了一个名为 [HikariPool-1 管家] 的线程,但未能阻止它.这很可能造成内存泄漏.线程的堆栈跟踪:sun.misc.Unsafe.park(本地方法)java.util.concurrent.locks.LockSupport.parkNanos(来源不明)java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(来源不明)java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(来源不明)java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(来源不明)java.util.concurrent.ThreadPoolExecutor.getTask(来源不明)java.util.concurrent.ThreadPoolExecutor.runWorker(来源不明)java.util.concurrent.ThreadPoolExecutor$Worker.run(来源不明)java.lang.Thread.run(来源不明)

我的 Hiraki 配置是按照 JNDI 数据源工厂(Tomcat 等)设置的 文档,是这样的:

我找到了这个 link 但它没有帮助,因为我使用 Hiraki 作为 Tomcat 中的资源.

我使用的是 Tomcat 8.5HikariCP 2.5.1

有什么帮助吗?谢谢.

解决方案

您需要在资源末尾添加以下内容:

<块引用>

 closeMethod="close"/>

I am trying use HikariCP JNDI DataSource Factory within Tomcat 8.5 but when it shutdown I'm getting these warning:

o.a.c.loader.WebappClassLoaderBase       : The web application [ROOT] appears to have started a thread named [HikariPool-1 housekeeper] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
 sun.misc.Unsafe.park(Native Method)
 java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
 java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)
 java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
 java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
 java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
 java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
 java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
 java.lang.Thread.run(Unknown Source)

My Hiraki configuration was setup following the JNDI DataSource Factory (Tomcat, etc.) document, and is something like this:

<Resource name="******" auth="Container"
      factory="com.zaxxer.hikari.HikariJNDIFactory"
      type="javax.sql.DataSource"
      minimumIdle="5" 
      maximumPoolSize="10"
      connectionTimeout="300000"
      driverClassName="org.postgresql.Driver"
      jdbcUrl="jdbc:postgresql://******"
      dataSource.implicitCachingEnabled="true" 
      dataSource.user="******"
      dataSource.password="******" />

I've found this link but it doesn't help because I'm using Hiraki as a resource inside Tomcat.

I'm using Tomcat 8.5 HikariCP 2.5.1

Any help? Thanks.

解决方案

All you need to add is this at the end of your Resource:

           closeMethod="close"/>

这篇关于Web 应用程序似乎启动了一个名为 [HikariPool-1 管家] 的线程,但未能阻止它的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆