SimpleApplicationEventMulticaster leniently handles ClassCastException
Issue: SPR-14109
This commit is contained in:
parent
696dcb72a5
commit
13f889e914
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2015 the original author or authors.
|
||||
* Copyright 2002-2016 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
@ -18,6 +18,8 @@ package org.springframework.context.event;
|
|||
|
||||
import java.util.concurrent.Executor;
|
||||
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
|
||||
import org.springframework.beans.factory.BeanFactory;
|
||||
import org.springframework.context.ApplicationEvent;
|
||||
import org.springframework.context.ApplicationListener;
|
||||
|
|
@ -160,7 +162,13 @@ public class SimpleApplicationEventMulticaster extends AbstractApplicationEventM
|
|||
}
|
||||
}
|
||||
else {
|
||||
listener.onApplicationEvent(event);
|
||||
try {
|
||||
listener.onApplicationEvent(event);
|
||||
}
|
||||
catch (ClassCastException ex) {
|
||||
// Possibly a lambda-defined listener which we could not resolve the generic event type for
|
||||
LogFactory.getLog(getClass()).debug("Non-matching event type for listener: " + listener, ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue