Question

In my servlet I start a background thread onContextInitialized() and consequently I need to stop it onContextDestroyed(). So my servlet needs a private instance variable (let's call this daemon) pointing to this daemon thread. The daemon runs fine, but the reference is lost as soon as I exit contextInitialized()! For example, if I implement doGet() to show the status of the thread, it throws a NPE

So the answer is, who can access my servlet private instance variable and set it to null? I remark that the thread runs just fine, just the reference is broken

Was it helpful?

Solution

Just set the reference in Application Context or set it to some static field of some class[less preferable]

Not sure what you want to achieve but this will do

OTHER TIPS

Make it static so all instances can see it:

private static Thread daemon;
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top