如何在WebSphere下停止应用程序的后台线程

HPC*_*PCS 3 java websphere multithreading

我们正在WebSphere集群中部署应用程序.应用程序正在运行他自己的永不终止的线程,正在检查某些条件,例如:

while(true){
  logger.severe("Unterminated thread");
  Thread.sleep(10000);
}
Run Code Online (Sandbox Code Playgroud)

问题是,在WebSphere中停止应用程序(通过wsadmin或管理控制台)之后,只有servlet被取消注册,但这些线程不会被杀死并且仍然在运行.当我停止申请时,有什么方法可以杀死这个踏板吗?我们正在使用WebSphere 7.

谢谢

Ole*_*eev 6

您永远不应该从JavaEE应用程序手动创建线程.线程管理应该由JavaEE容器提供.

WebSphere有一个WorkManager机制来帮助您处理线程需求.请查看本教程的实现细节.