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 14, 2024

Applies to:

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

Symptoms

 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.

 

Cause

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
Symptoms
Cause
Solution
References


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