我有一个 MQEvent 侦听器线程,它不断地轮询 MQ 以获取新消息并处理它们。此应用程序部署到集群 Weblogic 环境。应用程序运行几个月后,所有 Weblogic 托管服务器上的侦听器线程都会被中断(几乎同时),导致侦听器被终止。我必须重新部署应用程序才能使其再次工作。
我找不到任何中断线程的东西。侦听器使用多个
Thread.sleep() 调用,但我不确定监听器是如何被中断的。
public void run() {
while (!isInterrupted()) {
//keep processing messages and sleep
}
}
Weblogic 是否会中断长时间运行的线程并尝试关闭它们?