servlet中的私有实例变量设置为null?

时间:2011-11-25 10:25:20

标签: java java-ee tomcat servlets servlet-listeners

在我的servlet中,我启动了一个后台线程onContextInitialized(),因此我需要阻止它onContextDestroyed()。所以我的servlet需要一个指向这个守护进程线程的私有实例变量(让我们调用这个daemon)。 守护进程运行正常,但一旦我退出contextInitialized(),引用就会丢失!例如,如果我实现doGet()来显示线程的状态,它会抛出一个NPE

所以答案是,谁可以访问我的servlet私有实例变量并将其设置为null? 我注意到线程运行得很好,只是引用被打破了

2 个答案:

答案 0 :(得分:1)

将其设为static,以便所有实例都能看到它:

private static Thread daemon;

答案 1 :(得分:1)

只需在Application Context中设置引用或将其设置为某个类的某个静态字段[less less]

不确定要实现的目标,但这样做