From 35ebf51f2130751cb17203c0102610d55956ba43 Mon Sep 17 00:00:00 2001 From: Skelotron Date: Sun, 24 Dec 2017 03:45:55 +0400 Subject: [PATCH 1/2] SPR-16288 --- .../java/org/springframework/core/BridgeMethodResolver.java | 5 ++++- .../org/springframework/core/BridgeMethodResolverTests.java | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/spring-core/src/main/java/org/springframework/core/BridgeMethodResolver.java b/spring-core/src/main/java/org/springframework/core/BridgeMethodResolver.java index a5d6ec04586c..a3c3f2ac3283 100644 --- a/spring-core/src/main/java/org/springframework/core/BridgeMethodResolver.java +++ b/spring-core/src/main/java/org/springframework/core/BridgeMethodResolver.java @@ -196,7 +196,10 @@ private static Method searchInterfaces(Class[] interfaces, Method bridgeMetho return method; } else { - return searchInterfaces(ifc.getInterfaces(), bridgeMethod); + Method parentIfcMethod = searchInterfaces(ifc.getInterfaces(), bridgeMethod); + if (parentIfcMethod != null) { + return parentIfcMethod; + } } } return null; diff --git a/spring-core/src/test/java/org/springframework/core/BridgeMethodResolverTests.java b/spring-core/src/test/java/org/springframework/core/BridgeMethodResolverTests.java index f563c0e37e91..575bff0d2ef5 100644 --- a/spring-core/src/test/java/org/springframework/core/BridgeMethodResolverTests.java +++ b/spring-core/src/test/java/org/springframework/core/BridgeMethodResolverTests.java @@ -809,7 +809,8 @@ public static class ModifiedMessageEvent extends MessageEvent { @SuppressWarnings("unchecked") public static class MessageBroadcasterImpl extends GenericEventBroadcasterImpl - implements MessageBroadcaster { + implements Serializable, // implement more that one interface, see SPR-16288 + MessageBroadcaster { public MessageBroadcasterImpl() { super(NewMessageEvent.class); From eb558da70e53d5d4a177712753c09181146acecb Mon Sep 17 00:00:00 2001 From: Skelotron Date: Sun, 24 Dec 2017 03:48:50 +0400 Subject: [PATCH 2/2] =?UTF-8?q?SPR-16288=20=E2=80=94=20typo=20fix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/springframework/core/BridgeMethodResolverTests.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-core/src/test/java/org/springframework/core/BridgeMethodResolverTests.java b/spring-core/src/test/java/org/springframework/core/BridgeMethodResolverTests.java index 575bff0d2ef5..9e6f29a5755a 100644 --- a/spring-core/src/test/java/org/springframework/core/BridgeMethodResolverTests.java +++ b/spring-core/src/test/java/org/springframework/core/BridgeMethodResolverTests.java @@ -809,7 +809,7 @@ public static class ModifiedMessageEvent extends MessageEvent { @SuppressWarnings("unchecked") public static class MessageBroadcasterImpl extends GenericEventBroadcasterImpl - implements Serializable, // implement more that one interface, see SPR-16288 + implements Serializable, // implement more than one interface, see SPR-16288 MessageBroadcaster { public MessageBroadcasterImpl() {