Merge branch '6.0.x'

This commit is contained in:
Juergen Hoeller
2023-06-21 13:16:47 +02:00
3 changed files with 30 additions and 4 deletions

View File

@@ -168,12 +168,17 @@ public class ApplicationListenerMethodAdapter implements GenericApplicationListe
@Override
public boolean supportsEventType(ResolvableType eventType) {
for (ResolvableType declaredEventType : this.declaredEventTypes) {
if (declaredEventType.isAssignableFrom(eventType)) {
if (eventType.hasUnresolvableGenerics() ?
declaredEventType.toClass().isAssignableFrom(eventType.toClass()) :
declaredEventType.isAssignableFrom(eventType)) {
return true;
}
if (PayloadApplicationEvent.class.isAssignableFrom(eventType.toClass())) {
if (eventType.hasUnresolvableGenerics()) {
return true;
}
ResolvableType payloadType = eventType.as(PayloadApplicationEvent.class).getGeneric();
if (declaredEventType.isAssignableFrom(payloadType) || eventType.hasUnresolvableGenerics()) {
if (declaredEventType.isAssignableFrom(payloadType)) {
return true;
}
}