apolloconfig / apolloconfig/apollo
使用tomcat热部署后,Apollo线程组不会销毁疑似造成内存泄漏
- Lingua principale
- Java
- Stelle
- 29.8k
- Fork
- 10.2k
- Merge medio
- 4g 7h
- PR unite (30g)
- 4
Descrizione
- [x] 我已经检查过[discussions](https://github.com/ctripcorp/apollo/discussions)
- [x] 我已经搜索过[issues](https://github.com/ctripcorp/apollo/issues)
- [x] 我已经仔细检查过[FAQ](https://www.apolloconfig.com/#/zh/faq/common-issues-in-deployment-and-development-phase)
**描述bug**
目前有7项目部署在tomcat中,全部接入了Apollo,tomcat完全启动后,使用Java VisualVM能看到Apollo-开头的线程,一组4个,一共7*4=28个。
使用tomcat manager的重新部署功能,部署某一个项目后,每个Apollo-开头的线程会增加一个,而且之前的线程并不会销毁,造成的问题就是重启次数越来越多,导致线程数也越来越多。而且这个问题似乎导致了项目的内存泄漏,因为之前的线程无法销毁,导致tomcat的class loader也无法回收。
**复现**
通过如下步骤可以复现:
1. 使用tomcat部署war包项目,并且项目接入Apollo。
2. 使用Java VisualVM查看当前tomcat线程情况
3. 使用tomcat manager重新部署项目,Apollo-开头的线程会增加等同于项目数量的个数,并且之前的并不会销毁
**期望**
tomcat热部署后,对应的线程池不应该关闭吗,这里是没对tomcat情况做处理吗,请问是否有手动调用销毁这四类线程的方法?
**截图**





### 额外的细节和日志
- 版本:tomcat版本 9.0.54,Apollo版本1.6.0
- 错误日志
- 配置:四核 64G内存
- 平台和操作系统:CentOS Linux release.7.5.1804,内核版本3.10.0-862.el7.x86_64
Guida per i contributori
Apri la guida per i contributori
Valutazione
Questa issue non è ancora stata valutata.