This is an automated email from the ASF dual-hosted git repository. lukaszlenart pushed a commit to branch WW-5537-classloader-leak-fixes in repository https://gitbox.apache.org/repos/asf/struts.git
commit a8fb836d0624ef3733b051cbfeac09c1596a9cf6 Author: Lukasz Lenart <[email protected]> AuthorDate: Mon Mar 23 09:58:42 2026 +0100 WW-5537 Register InternalDestroyable beans in struts-beans.xml Co-Authored-By: Claude Opus 4.6 <[email protected]> --- core/src/main/resources/struts-beans.xml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/core/src/main/resources/struts-beans.xml b/core/src/main/resources/struts-beans.xml index 7c59a88da..614178691 100644 --- a/core/src/main/resources/struts-beans.xml +++ b/core/src/main/resources/struts-beans.xml @@ -260,4 +260,22 @@ <bean type="org.apache.struts2.interceptor.csp.CspNonceReader" name="struts" class="org.apache.struts2.interceptor.csp.StrutsCspNonceReader"/> + <!-- WW-5537: InternalDestroyable beans for automatic cleanup during undeploy --> + <bean type="org.apache.struts2.dispatcher.InternalDestroyable" name="componentCache" + class="org.apache.struts2.dispatcher.ComponentCacheDestroyable"/> + <bean type="org.apache.struts2.dispatcher.InternalDestroyable" name="compoundRootAccessor" + class="org.apache.struts2.ognl.accessor.CompoundRootAccessor"/> + <bean type="org.apache.struts2.dispatcher.InternalDestroyable" name="defaultFileManager" + class="org.apache.struts2.util.fs.DefaultFileManager"/> + <bean type="org.apache.struts2.dispatcher.InternalDestroyable" name="scopeInterceptorCache" + class="org.apache.struts2.dispatcher.ScopeInterceptorCacheDestroyable"/> + <bean type="org.apache.struts2.dispatcher.InternalDestroyable" name="ognlCache" + class="org.apache.struts2.dispatcher.OgnlCacheDestroyable"/> + <bean type="org.apache.struts2.dispatcher.InternalDestroyable" name="finalizableReferenceQueue" + class="org.apache.struts2.dispatcher.FinalizableReferenceQueueDestroyable"/> + <bean type="org.apache.struts2.dispatcher.InternalDestroyable" name="freemarkerCache" + class="org.apache.struts2.dispatcher.FreemarkerCacheDestroyable"/> + <bean type="org.apache.struts2.dispatcher.InternalDestroyable" name="debugUtilsCache" + class="org.apache.struts2.dispatcher.DebugUtilsCacheDestroyable"/> + </struts>
