Prevent NPE in AbstractApplicationEventMulticaster's non-caching code path

Issue: SPR-12545
This commit is contained in:
Juergen Hoeller 2014-12-30 10:01:58 +01:00
parent 51367dec05
commit 1cefeb2af0
1 changed files with 6 additions and 2 deletions

View File

@ -199,7 +199,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);
}
}
@ -212,7 +214,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);
}
}