Search implemented interfaces on superclass for @ServiceConnection

Refine original fix to also search interfaces on the superclass.

Fixes gh-37671
This commit is contained in:
Phillip Webb
2023-10-14 19:43:41 -07:00
parent 084bd3a420
commit e01e4f1912
2 changed files with 17 additions and 1 deletions

View File

@@ -94,6 +94,14 @@ class ServiceConnectionContextCustomizerFactoryTests {
assertThat(customizer.getSources()).hasSize(2);
}
@Test
void createContextCustomizerWhenInheritedImplementedInterfaceHasServiceConnectionsReturnsCustomizer() {
ServiceConnectionContextCustomizer customizer = (ServiceConnectionContextCustomizer) this.factory
.createContextCustomizer(ServiceConnectionsImplSubclass.class, null);
assertThat(customizer).isNotNull();
assertThat(customizer.getSources()).hasSize(2);
}
@Test
void createContextCustomizerWhenClassHasNonStaticServiceConnectionFailsWithHelpfulException() {
assertThatIllegalStateException()
@@ -186,6 +194,10 @@ class ServiceConnectionContextCustomizerFactoryTests {
}
static class ServiceConnectionsImplSubclass extends ServiceConnectionsImpl {
}
static class NonStaticServiceConnection {
@ServiceConnection