My Oracle Support Banner

ChangeAwareClassLoader(CACL) Leaks After Undeploy When Marshal/Unmarshal of JAXB is Called in WLS Web Application (Doc ID 2833063.1)

Last updated on FEBRUARY 24, 2022

Applies to:

Oracle TopLink - Version and later
Oracle WebLogic Server - Version and later
Information in this document applies to any platform.


 ChangeAwareClassLoader(CACL) which is WebLogic web application classloader leaks when JAXB.marshal or JAXB.unmarshal is called.
The CACL lefts after the application was undeployed.
This will cause OutOfMemorryError of java heap or metaspace.

path2gc of weblogic.utils.classloaders.ChangeAwareClassLoader is below from the heapdump.
org.eclipse.persistence.jaxb.BeanValidationHelper.constraintsOnClasses holds the class which has @XmlRootElement annotation.
The class is loaded by ChangeAwareClassLoader.

The following is the result of path to gc roots on MAT, test.jaxb.Employee is the class that has @XmlRootElement annotation and is used for unmarshal.



To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!

In this Document

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.