I'm having a problem reloading my wicket application only when running on
Windows (this doesn't happen on my Mac). From what I can tell it looks like
the problem lies in FileCleaner. When hot deploying (that is, copying a new
war file over the existing war file) Tomcat's output hangs with "Deploying
web application archive yourapp.war"
Pressing control-break shows the thread dump with this is at the top:
"File Reaper" daemon prio=10 tid=0x0340d248 nid=0xafc in Object.wait()
[0x043cf000..0x043cfae8]
at java.lang.Object.wait(Native Method)
- waiting on <0x25db6740> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
- locked <0x25db6740> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
at
org.apache.wicket.util.file.FileCleaner$1.run(FileCleaner.java:61)
That line in wicket 1.3-beta2 is "q.remove()" where q is the ReferenceQueue.
What I think is happening is that the reaper thread is being interrupted via
the destroy() method and that exception is caught and ignored -- instead the
reaper thread's run() method should exit.
Thoughts?
--
View this message in context:
http://www.nabble.com/Does-FileCleaner.destroy-stop-the-reaper-thread--tf4342035.html#a12368920
Sent from the Wicket - Dev mailing list archive at Nabble.com.