|
|
|
@ -1,5 +1,5 @@ |
|
|
|
/* |
|
|
|
/* |
|
|
|
* Copyright 2002-2016 the original author or authors. |
|
|
|
* Copyright 2002-2017 the original author or authors. |
|
|
|
* |
|
|
|
* |
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
|
|
|
* you may not use this file except in compliance with the License. |
|
|
|
* you may not use this file except in compliance with the License. |
|
|
|
@ -18,6 +18,7 @@ package org.springframework.context.event; |
|
|
|
|
|
|
|
|
|
|
|
import java.util.concurrent.Executor; |
|
|
|
import java.util.concurrent.Executor; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import org.apache.commons.logging.Log; |
|
|
|
import org.apache.commons.logging.LogFactory; |
|
|
|
import org.apache.commons.logging.LogFactory; |
|
|
|
|
|
|
|
|
|
|
|
import org.springframework.beans.factory.BeanFactory; |
|
|
|
import org.springframework.beans.factory.BeanFactory; |
|
|
|
@ -166,9 +167,13 @@ public class SimpleApplicationEventMulticaster extends AbstractApplicationEventM |
|
|
|
listener.onApplicationEvent(event); |
|
|
|
listener.onApplicationEvent(event); |
|
|
|
} |
|
|
|
} |
|
|
|
catch (ClassCastException ex) { |
|
|
|
catch (ClassCastException ex) { |
|
|
|
if (ex.getMessage().startsWith(event.getClass().getName())) { |
|
|
|
String msg = ex.getMessage(); |
|
|
|
|
|
|
|
if (msg != null && msg.startsWith(event.getClass().getName())) { |
|
|
|
// Possibly a lambda-defined listener which we could not resolve the generic event type for
|
|
|
|
// 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); |
|
|
|
Log logger = LogFactory.getLog(getClass()); |
|
|
|
|
|
|
|
if (logger.isDebugEnabled()) { |
|
|
|
|
|
|
|
logger.debug("Non-matching event type for listener: " + listener, ex); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
else { |
|
|
|
else { |
|
|
|
throw ex; |
|
|
|
throw ex; |
|
|
|
|