Hi Stephen,
I am afraid Jersey does not remove it's thread locals
and there is currently no way to force Jersey to clean up properly.
We need to fix that.
Could you please file a bug report [1] to track this?
Thanks,
~Jakub
[1]
http://java.net/jira/browse/JERSEY/
On 29.9.2011 12:56, DaveCrystal wrote:
> Hello, I am using Jersey 1.9.1 with spring to create a rest web service
> hosted in Tomcat.
>
> The application follows the pattern in this example.
> http://blogs.oracle.com/enterprisetechtips/entry/jersey_and_spring
>
> When the web application is undeployed Tomcat logs a warning that the
> application has created a ThreadLocal and not removed it:
>
> SEVERE: The web application [/sandbox] created a ThreadLocal with key of
> type [null] (value
> [com.sun.jersey.core.impl.provider.xml.ThreadLocalSingletonContextProvider$1_at_])
> and a value of type
> [com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl] (value
> [com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl_at_f76983]) but
> failed to remove it when the web application was stopped. This is very
> likely to create a memory leak.
>
> After deploying and undeploying the app several times Tomcat runs out of
> PermGen space.
>
> Any advice on how I can cause Jersey to clean up the Thread Locals on
> undeploy would be much appreceiated.
>
> Thanks a lot.
>
> --
> View this message in context: http://jersey.576304.n2.nabble.com/PermGen-Memory-Leak-in-Tomcat-tp6843479p6843479.html
> Sent from the Jersey mailing list archive at Nabble.com.
>