找到了 OSChina 出问题的原因了~~

红薯 发布于 2010/05/23 17:37
阅读 775
收藏 3

前两天 OSChina 出了点问题,详情请看:OSChina 早上出了点问题

现象是自动构建索引的进程没有退出,堆积一大堆,导致数据库连接爆满,应用无法连接到数据库,导致页面无响应。

今天终于弄清楚了问题所在—— EhCache 2.1 的问题

出问题的前一天晚上,我更新了 EhCache 到最新版 2.1 .

而新版本的 EhCache 应该说改动还是不小,特别是 EhCache 的 Region 都会对应一个维护线程(老版本也一样),而新版本这个维护线程不会自动退出导致进程挂在那里,而我的主进程又没有 System.exit(0) 代码来终止程序,由此才产生这个问题,另外 EhCache 2.1 还修改了维护线程的名称为 [region].data。

应该说这不算是 EhCache 的问题,现在构建索引以及其他后台进程都已经增加了 System.exit 的代码。

我怀疑新版本的 EhCache 对这些 Region 的维护线程增加了 setDaemon(true) 的代码,导致其无法正常终止。

搞定!

加载中
0
JavaGG
JavaGG

哈哈哈,我就对EhCache 用一堆线程去做timeout好不爽的

0
冰封情
冰封情

EhCache  昨天晚上更新到了2.1。中间的改动还是很大的,特别是Hibernate结合的包发生了更改!

红薯发的那个缓存my文件就必须要最新版本的!你这个家伙就喜欢用新版!

返回顶部
顶部