This is an automated email from the ASF dual-hosted git repository. juanpablo pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/jspwiki.git
commit 2e4bbb865be6c3ae920513e7cfbfa18cf8dbfb54 Author: Juan Pablo Santos RodrÃguez <[email protected]> AuthorDate: Mon Jan 11 19:31:18 2021 +0100 WikiEngine unregisters all event delegates from WikiEventManager on shutdown --- .../main/java/org/apache/wiki/event/WikiEventManager.java | 13 +++++++++++++ jspwiki-main/src/main/java/org/apache/wiki/WikiEngine.java | 1 + 2 files changed, 14 insertions(+) diff --git a/jspwiki-event/src/main/java/org/apache/wiki/event/WikiEventManager.java b/jspwiki-event/src/main/java/org/apache/wiki/event/WikiEventManager.java index 478dfee..ac26de8 100644 --- a/jspwiki-event/src/main/java/org/apache/wiki/event/WikiEventManager.java +++ b/jspwiki-event/src/main/java/org/apache/wiki/event/WikiEventManager.java @@ -256,6 +256,19 @@ public final class WikiEventManager { return removed; } + private void removeDelegates() { + synchronized( m_delegates ) { + m_delegates.clear(); + } + synchronized( m_preloadCache ) { + m_preloadCache.clear(); + } + } + + public static void shutdown() { + getInstance().removeDelegates(); + } + /** * Returns true if there are one or more listeners registered with the provided client Object (undelegated event source). This locates * any delegate and checks to see if it has any listeners attached. diff --git a/jspwiki-main/src/main/java/org/apache/wiki/WikiEngine.java b/jspwiki-main/src/main/java/org/apache/wiki/WikiEngine.java index da6c935..49758ec 100644 --- a/jspwiki-main/src/main/java/org/apache/wiki/WikiEngine.java +++ b/jspwiki-main/src/main/java/org/apache/wiki/WikiEngine.java @@ -643,6 +643,7 @@ public class WikiEngine implements Engine { public void shutdown() { fireEvent( WikiEngineEvent.SHUTDOWN ); getManager( FilterManager.class ).destroy(); + WikiEventManager.shutdown(); } /**
