自由狼-台风0
Session与Logger复合问题,求解。
编写Web服务器端程序。为每个Session开了一个唯一的Logger,并为这些Logger各配了一个唯一的FileHandler,写唯一命名的日志文件。
当Session过期时,Logger依然健在,FileHandler也还在工作(日志文件旁边的0字节.lck锁定文件依然存在)。这样下去,Logger、FileHandler和打开的文件越来越多,资源总会用完。
关闭该Web应用貌似不能停下这些FileHandler,只有关闭整个Tomcat才能消停(日志文件旁边的0字节.lck锁定文件消失)。有什么办法能是的在Session到期后把它的Logger和FileHandler废掉?
我能想到的一部分解决办法是用SessionListener,在监听到Session过期事件时把这个Session的Logger上的FileHandler拔掉,但是对Logger本身似乎还是没什么影响。怎样才能让这些东西都不再被引用(变成垃圾等GC来吃)?
[[i] 本帖最后由 自由狼-台风0 于 2008-6-7 18:53 编辑 [/i]]