在我的servlet中,我启动了一个后台线程onContextInitialized()
,因此我需要阻止它onContextDestroyed()
。所以我的servlet需要一个指向这个守护进程线程的私有实例变量(让我们调用这个daemon
)。
守护进程运行正常,但一旦我退出contextInitialized()
,引用就会丢失!例如,如果我实现doGet()
来显示线程的状态,它会抛出一个NPE
所以答案是,谁可以访问我的servlet私有实例变量并将其设置为null? 我注意到线程运行得很好,只是引用被打破了
答案 0 :(得分:1)
将其设为static
,以便所有实例都能看到它:
private static Thread daemon;
答案 1 :(得分:1)
只需在Application Context中设置引用或将其设置为某个类的某个静态字段[less less]
不确定要实现的目标,但这样做