Sigh. Using Tomcat 6.0.26 and trying to use iCal4j to generate calendar
files so that date/time events in my app can be exported to the user's
calendar.
iCal4j uses static ThreadLocal's to protect SimpleDateFormat and some
other things. When I shut down Tomcat I get these disturbing messages:
Aug 27, 2010 4:40:02 PM org.apache.catalina.loader.WebappClassLoader
clearThreadLocalMap
SEVERE: A web application created a ThreadLocal with key of type
[net.fortuna.ical4j.model.DateTime$1] (value
[net.fortuna.ical4j.model.datetim...@19ed13da]) and a value of type
[java.text.SimpleDateFormat] (value
[java.text.simpledatefor...@6f64295a]) but failed to remove it when the
web application was stopped. To prevent a memory leak, the ThreadLocal
has been forcibly removed.
Aug 27, 2010 4:40:02 PM org.apache.catalina.loader.WebappClassLoader
clearThreadLocalMap
SEVERE: A web application created a ThreadLocal with key of type
[net.fortuna.ical4j.util.CompatibilityHints$1] (value
[net.fortuna.ical4j.util.compatibilityhint...@1bb25a82]) and a value of
type [java.util.HashMap] (value [{}]) but failed to remove it when the
web application was stopped. To prevent a memory leak, the ThreadLocal
has been forcibly removed.
Aug 27, 2010 4:40:02 PM org.apache.catalina.loader.WebappClassLoader
clearThreadLocalMap
SEVERE: A web application created a ThreadLocal with key of type
[net.fortuna.ical4j.model.DateTime$3] (value
[net.fortuna.ical4j.model.datetim...@5a541b02]) and a value of type
[java.text.SimpleDateFormat] (value
[java.text.simpledatefor...@d70c6dda]) but failed to remove it when the
web application was stopped. To prevent a memory leak, the ThreadLocal
has been forcibly removed.
The iCal4j author assures me that this isn't really a memory leak.
It's just creating some small static variables on per thread basis.
Of course, I run up to a couple hundred threads per server so I'm not
so sure. I know I don't like seeing these messages in my log. They are
particularly annoying for development because I look at my logs a lot
and I don't like the extra useless noise.
I'm not really clear on how ThreadLocal works. Is there no way for me
to kill these?
Alternatively, if it really is harmless, is there a way to turn off
these messages?
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]