Commit e4d5714d authored by Phillip Webb's avatar Phillip Webb

Polish "Skip scoped targets when determining endpoints"

See gh-15182
parent 4853e6a7
...@@ -131,8 +131,8 @@ public abstract class EndpointDiscoverer<E extends ExposableEndpoint<O>, O exten ...@@ -131,8 +131,8 @@ public abstract class EndpointDiscoverer<E extends ExposableEndpoint<O>, O exten
String[] beanNames = BeanFactoryUtils.beanNamesForAnnotationIncludingAncestors( String[] beanNames = BeanFactoryUtils.beanNamesForAnnotationIncludingAncestors(
this.applicationContext, Endpoint.class); this.applicationContext, Endpoint.class);
for (String beanName : beanNames) { for (String beanName : beanNames) {
EndpointBean endpointBean = createEndpointBean(beanName);
if (!ScopedProxyUtils.isScopedTarget(beanName)) { if (!ScopedProxyUtils.isScopedTarget(beanName)) {
EndpointBean endpointBean = createEndpointBean(beanName);
EndpointBean previous = byId.putIfAbsent(endpointBean.getId(), EndpointBean previous = byId.putIfAbsent(endpointBean.getId(),
endpointBean); endpointBean);
Assert.state(previous == null, Assert.state(previous == null,
......
...@@ -46,7 +46,6 @@ import org.springframework.boot.actuate.endpoint.invoke.ParameterValueMapper; ...@@ -46,7 +46,6 @@ import org.springframework.boot.actuate.endpoint.invoke.ParameterValueMapper;
import org.springframework.boot.actuate.endpoint.invoke.convert.ConversionServiceParameterValueMapper; import org.springframework.boot.actuate.endpoint.invoke.convert.ConversionServiceParameterValueMapper;
import org.springframework.boot.actuate.endpoint.invoker.cache.CachingOperationInvoker; import org.springframework.boot.actuate.endpoint.invoker.cache.CachingOperationInvoker;
import org.springframework.boot.actuate.endpoint.invoker.cache.CachingOperationInvokerAdvisor; import org.springframework.boot.actuate.endpoint.invoker.cache.CachingOperationInvokerAdvisor;
import org.springframework.boot.actuate.endpoint.jmx.EndpointMBean;
import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
...@@ -151,13 +150,13 @@ public class EndpointDiscovererTests { ...@@ -151,13 +150,13 @@ public class EndpointDiscovererTests {
@Test @Test
public void getEndpointsWhenEndpointsArePrefixedWithScopedTargetShouldRegisterOnlyOneEndpoint() { public void getEndpointsWhenEndpointsArePrefixedWithScopedTargetShouldRegisterOnlyOneEndpoint() {
load(ScopedTargetEndpointConfiguration.class, ( load(ScopedTargetEndpointConfiguration.class, (context) -> {
context) -> { TestEndpoint expectedEndpoint = context
Collection<TestExposableEndpoint> endpoints = .getBean(ScopedTargetEndpointConfiguration.class).testEndpoint();
new TestEndpointDiscoverer(context).getEndpoints(); Collection<TestExposableEndpoint> endpoints = new TestEndpointDiscoverer(
assertThat(endpoints).hasSize(1); context).getEndpoints();
assertThat(endpoints.iterator().next().getEndpointBean()).isSameAs(context assertThat(endpoints).flatExtracting(TestExposableEndpoint::getEndpointBean)
.getBean(ScopedTargetEndpointConfiguration.class).testEndpoint()); .containsOnly(expectedEndpoint);
}); });
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment