ahkamel commented on code in PR #1236:
URL: https://github.com/apache/struts/pull/1236#discussion_r2793400202
##########
core/src/main/java/org/apache/struts2/util/ProxyUtil.java:
##########
@@ -65,15 +66,18 @@ public class ProxyUtil {
* object as fallback; never {@code null})
*/
public static Class<?> ultimateTargetClass(Object candidate) {
- Class<?> result = null;
- if (isSpringAopProxy(candidate))
- result = springUltimateTargetClass(candidate);
-
- if (result == null) {
- result = candidate.getClass();
- }
-
- return result;
+ return targetClassCache.computeIfAbsent(candidate, k -> {
Review Comment:
This change is causing a memory leak because it keeps caching all Struts
actions. With every request, a new instance of the Struts action is added to
this map, while our Struts action has a few MB of data. It's easy to break our
system. Can you please advise if there is any other option to disable this part
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]