Java jenkins上的HikariCP清理池循环

Java jenkins上的HikariCP清理池循环,java,hibernate,jenkins,spring-boot,hikaricp,Java,Hibernate,Jenkins,Spring Boot,Hikaricp,大家好,我的社区 我和我的詹金斯和希卡里普有一个非常恼人的问题 要正确看待这个问题: 我有一个使用hikariDataSource的spring启动应用程序。它在开发时工作良好,所有测试都在本地运行,没有任何问题。 但是,如果同一个项目作为ci作业在jenkins中运行,这与我在开发机器上执行的操作完全相同,那么它会在清理连接池时卡住一段时间: 2015-08-28 15:51:52.090调试8234-[l HikariPool-0]com.zaxxer.hikari.pool.HikariP

大家好,我的社区

我和我的詹金斯和希卡里普有一个非常恼人的问题

要正确看待这个问题: 我有一个使用hikariDataSource的spring启动应用程序。它在开发时工作良好,所有测试都在本地运行,没有任何问题。 但是,如果同一个项目作为ci作业在jenkins中运行,这与我在开发机器上执行的操作完全相同,那么它会在清理连接池时卡住一段时间:

2015-08-28 15:51:52.090调试8234-[l HikariPool-0]com.zaxxer.hikari.pool.HikariPool:清理前池HikariPool-0统计总数=10,活动=0,空闲=10,等待=0 2015-08-28 15:51:52.091调试8234-[l HikariPool-0]com.zaxxer.hikari.pool.HikariPool:清理池后HikariPool-0统计总数=10,活动=0,空闲=10,等待=0 2015-08-28 15:52:22.090调试8234-[l HikariPool-0]com.zaxxer.hikari.pool.HikariPool:清理前池HikariPool-0统计总数=10,活动=0,空闲=10,等待=0 2015-08-28 15:52:22.091调试8234-[l HikariPool-0]com.zaxxer.hikari.pool.HikariPool:清理池后HikariPool-0统计总数=10,活动=0,空闲=10,等待=0

这是我几分钟得到的,然后测试继续

在测试环境中,我使用h2内存数据库

在谷歌和github上搜索了几个小时后,我还没有找到解决方案

我使用Spring Boot 1.2.5、HikariCP 2.4.1、Hibernate 4.3.10.final

spring boot项目的配置基于jhipster的配置


非常感谢advanced为您提供的帮助和进一步的信息,以解决此问题。

我以为您说池挂起了您的测试。但再读一遍,我不认为这是正在发生的事情。只要HikariCP运行,它就会每30秒记录一次清理统计数据。因此,如果另一个线程挂起测试,您将看到这些测试继续记录

这些日志的存在并不意味着HikariCP被挂起。根据该日志中的所有指示,根本没有正在使用的连接


如果你能在测试挂起时以某种方式得到一个线程转储,那么你就可以看到线程在做什么,并可能抓住真正的罪魁祸首。

多亏了@brettw,我才能解决这个问题。这些日志确实让我走错了方向,认为hikaricp做错了什么

我们长期运行构建的根本原因是熵源,嵌入式tomcat使用熵源构建SecureRandom实例

根据这篇文章:我们试图将源代码设置为/dev//uradom,这也不起作用

最后,我们按照@starmer的建议安装了haveged。现在它工作得很好。它的速度快得惊人


非常感谢@brettw为我指明了正确的方向

您确定您的测试线束正在关闭HikariDataSource吗?如果您使用的是spring配置,那么连接到HikariDataSource.close方法的某个地方应该有一个destroy属性。也许是?谢谢你的回答。我不知道你的意思。我的数据源配置在关机时调用close方法。你的意思是叫它早点到吗?谢谢。我会在周一检查并公布我的发现。