我的问题现在解决了。
这些是我观察到的事情,也是问题的根本原因。
首先,我为我进行的每个查询创建了Hikari线程池和本地实体管理器工厂Bean,这些查询在应用程序的生命周期中应该只执行一次,或者对于每个数据源连接都应该执行一次。这是线程不断产生的主要原因。线程池/
LocalEntityManagerFactoryBean的创建与此代码段有关:
HikariDataSource connectionPoolDatasource = new HikariDataSource(connectionPoolConfig);localContainerEntityManagerFactoryBean.setDataSource(connectionPoolDatasource);localContainerEntityManagerFactoryBean.setJpaProperties(jpaProperties);localContainerEntityManagerFactoryBean.afterPropertiesSet();
参考:https :
//groups.google.com/forum/#!
topic/
hikari-cp/IsVEn-D6oFA请参阅Brett Wooldridge对钟仁明的回应。
最后,我每次查询或连接到数据库时都没有调用Connection.close()。
这也导致线程没有被终止或关闭。
以及保持数据库连接打开。
干杯!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)