关于在Tomcat里面多线程开发中Reload报错的问题。

一岁穿耐克 发布于 2014/05/28 09:29
阅读 1K+
收藏 0

目前项目使用的JFinal,项目使用了一个线程池来管理下载线程,然后重启Tomcat有时候会报如下错误。

Illegal access: this web application instance has been stopped already.  Could not load com.mchange.v2.c3p0.impl.IdentityTokenResolvableBeanInfo.  The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.

大概原因是因为在tomcat重启的时候,之前的Tomcat的线程还没有完全关闭。

如何能保证重启的时候,能把线程全部关闭?

什么设置标志位,都不管用,有没有办法强制关闭某个线程。

这个问题,愁死了。

加载中
0
如梦技术
如梦技术
kill 掉,写个命令,用那个重启!
如梦技术
如梦技术
回复 @一岁穿耐克 : 好吧,还是换druid吧
一岁穿耐克
一岁穿耐克
kill掉整个Tomcat?项目跑在云环境里面,不能这么操作吧。
0
JFinal
JFinal
     这是由于用户创建的线程是非守护线程造成的,将所有自己创建的线程在 start() 前先 setDaemon(true),楼主碰到的问题可能是 c3p0 线程为非守护线程,换 jfinal 提供的 DruidPlugin 试试
返回顶部
顶部