Prevent NPE in AbstractApplicationEventMulticaster's non-caching code path
Issue: SPR-12545
This commit is contained in:
@@ -199,7 +199,9 @@ public abstract class AbstractApplicationEventMulticaster
|
|||||||
}
|
}
|
||||||
for (ApplicationListener<?> listener : listeners) {
|
for (ApplicationListener<?> listener : listeners) {
|
||||||
if (supportsEvent(listener, event.getClass(), sourceType)) {
|
if (supportsEvent(listener, event.getClass(), sourceType)) {
|
||||||
retriever.applicationListeners.add(listener);
|
if (retriever != null) {
|
||||||
|
retriever.applicationListeners.add(listener);
|
||||||
|
}
|
||||||
allListeners.add(listener);
|
allListeners.add(listener);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -212,7 +214,9 @@ public abstract class AbstractApplicationEventMulticaster
|
|||||||
ApplicationListener<?> listener =
|
ApplicationListener<?> listener =
|
||||||
beanFactory.getBean(listenerBeanName, ApplicationListener.class);
|
beanFactory.getBean(listenerBeanName, ApplicationListener.class);
|
||||||
if (!allListeners.contains(listener) && supportsEvent(listener, event.getClass(), sourceType)) {
|
if (!allListeners.contains(listener) && supportsEvent(listener, event.getClass(), sourceType)) {
|
||||||
retriever.applicationListenerBeans.add(listenerBeanName);
|
if (retriever != null) {
|
||||||
|
retriever.applicationListenerBeans.add(listenerBeanName);
|
||||||
|
}
|
||||||
allListeners.add(listener);
|
allListeners.add(listener);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user