I have a web app running under tomcat-6.0.26 with JreMemoryLeakPreventionListener, java jdk1.6.0_18.
Using jmap -histo pid, I can watch com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl, etc increase in number after running my unmarshal action, followed by undeploy and redeploy. Find Leaks in the manager also finds leaks. The JAXBContext instance is created with a singleton that is an enum (using Josh Block's pattern): public enum JAXBContextMascot { INSTANCE("com.matrixscience.xmlns.schema.mascot_search_results_2" ); private JAXBContext ctx; JAXBContextMascot(String contextPath) { try { ctx =JAXBContext.newInstance(clazz); } catch (JAXBException e) { throw new RuntimeException(e); } } public Unmarshaller createUnmarshaller(){ try { return ctx.createUnmarshaller(); } catch (JAXBException e) { throw new RuntimeException(e); } } } Am I doing something wrong which is causing the memory leak? JAXBContext.newInstance() can take a ClassLoader argument. Is there some ClassLoader I should be using that will get around this? Any help would be appreciated. mas --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org