diff --git a/spring-context/src/main/java/org/springframework/context/event/AbstractApplicationEventMulticaster.java b/spring-context/src/main/java/org/springframework/context/event/AbstractApplicationEventMulticaster.java index bbf9b28801e..b3ae2082934 100644 --- a/spring-context/src/main/java/org/springframework/context/event/AbstractApplicationEventMulticaster.java +++ b/spring-context/src/main/java/org/springframework/context/event/AbstractApplicationEventMulticaster.java @@ -200,7 +200,9 @@ public abstract class AbstractApplicationEventMulticaster } for (ApplicationListener listener : listeners) { if (supportsEvent(listener, event.getClass(), sourceType)) { - retriever.applicationListeners.add(listener); + if (retriever != null) { + retriever.applicationListeners.add(listener); + } allListeners.add(listener); } } @@ -213,7 +215,9 @@ public abstract class AbstractApplicationEventMulticaster ApplicationListener listener = beanFactory.getBean(listenerBeanName, ApplicationListener.class); if (!allListeners.contains(listener) && supportsEvent(listener, event.getClass(), sourceType)) { - retriever.applicationListenerBeans.add(listenerBeanName); + if (retriever != null) { + retriever.applicationListenerBeans.add(listenerBeanName); + } allListeners.add(listener); } }