Hi Simon,

On 22.04.2025 17:44, Simon Arame wrote:
org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading
Illegal access: this web application instance has been stopped
already. Could not load
[org.apache.xerces.jaxp.datatype.XMLGregorianCalendarImpl$DaysInMonth].
The following stack trace is thrown for debugging purposes as well
as to attempt to terminate the thread which caused the illegal
access.

This is a known issue with JAXB: JAXB was part of the JRE until version 11.


The default `j.x.bind.DatatypeConverter` implementation uses the thread context classloader to find an implementation of `j.x.datatype.DatatypeFactory` and binds it to a static field. Since Xerces provides this service, the result is a nice memory leak.


To solve this, add:
javax.xml.datatype.DatatypeFactory = com.sun.org.apache.xerces.internal.jaxp.datatype.DatatypeFactoryImpl

to your `catalina.properties` file.

Piotr


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to