From 416219716938fe4cc7c091aca7de5c3f9770c841 Mon Sep 17 00:00:00 2001 From: ReaJason Date: Wed, 4 Dec 2024 02:29:00 +0800 Subject: [PATCH] fix: tomcat6 and 7 listener not work --- .../memsell/tomcat/injector/TomcatListenerInjector.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/generator/src/main/java/com/reajason/javaweb/memsell/tomcat/injector/TomcatListenerInjector.java b/generator/src/main/java/com/reajason/javaweb/memsell/tomcat/injector/TomcatListenerInjector.java index dc259432..28b034ee 100644 --- a/generator/src/main/java/com/reajason/javaweb/memsell/tomcat/injector/TomcatListenerInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memsell/tomcat/injector/TomcatListenerInjector.java @@ -113,9 +113,10 @@ public class TomcatListenerInjector { @SuppressWarnings("all") public void addListener(Object context, Object listener) throws Exception { if (!isInjected(context, listener.getClass().getName())) { - if (getFV(context, "applicationEventListenersObjects") != null) { - Object[] appListeners = (Object[]) getFV(context, "applicationEventListenersObjects"); - if(appListeners != null && appListeners.length > 0) { + Object applicationEventListenersObjects = getFV(context, "applicationEventListenersObjects"); + if (applicationEventListenersObjects != null) { + Object[] appListeners = (Object[]) applicationEventListenersObjects; + if (appListeners != null) { List appListenerList = new ArrayList(Arrays.asList(appListeners)); appListenerList.add(listener); setFieldValue(context, "applicationEventListenersObjects", appListenerList.toArray()); @@ -194,7 +195,7 @@ public class TomcatListenerInjector { } public static void setFieldValue(final Object obj, final String fieldName, final Object value) throws Exception { - final Field field = getF(obj.getClass(), fieldName); + Field field = getF(obj, fieldName); field.set(obj, value); }