Skip to content

Commit e4d5714

Browse files
committed
Polish "Skip scoped targets when determining endpoints"
See gh-15182
1 parent 4853e6a commit e4d5714

File tree

2 files changed

+8
-9
lines changed

2 files changed

+8
-9
lines changed

spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/annotation/EndpointDiscoverer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,8 +131,8 @@ private Collection<EndpointBean> createEndpointBeans() {
131131
String[] beanNames = BeanFactoryUtils.beanNamesForAnnotationIncludingAncestors(
132132
this.applicationContext, Endpoint.class);
133133
for (String beanName : beanNames) {
134-
EndpointBean endpointBean = createEndpointBean(beanName);
135134
if (!ScopedProxyUtils.isScopedTarget(beanName)) {
135+
EndpointBean endpointBean = createEndpointBean(beanName);
136136
EndpointBean previous = byId.putIfAbsent(endpointBean.getId(),
137137
endpointBean);
138138
Assert.state(previous == null,

spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/annotation/EndpointDiscovererTests.java

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@
4646
import org.springframework.boot.actuate.endpoint.invoke.convert.ConversionServiceParameterValueMapper;
4747
import org.springframework.boot.actuate.endpoint.invoker.cache.CachingOperationInvoker;
4848
import org.springframework.boot.actuate.endpoint.invoker.cache.CachingOperationInvokerAdvisor;
49-
import org.springframework.boot.actuate.endpoint.jmx.EndpointMBean;
5049
import org.springframework.context.ApplicationContext;
5150
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
5251
import org.springframework.context.annotation.Bean;
@@ -151,13 +150,13 @@ public void getEndpointsWhenTwoEndpointsHaveTheSameIdShouldThrowException() {
151150

152151
@Test
153152
public void getEndpointsWhenEndpointsArePrefixedWithScopedTargetShouldRegisterOnlyOneEndpoint() {
154-
load(ScopedTargetEndpointConfiguration.class, (
155-
context) -> {
156-
Collection<TestExposableEndpoint> endpoints =
157-
new TestEndpointDiscoverer(context).getEndpoints();
158-
assertThat(endpoints).hasSize(1);
159-
assertThat(endpoints.iterator().next().getEndpointBean()).isSameAs(context
160-
.getBean(ScopedTargetEndpointConfiguration.class).testEndpoint());
153+
load(ScopedTargetEndpointConfiguration.class, (context) -> {
154+
TestEndpoint expectedEndpoint = context
155+
.getBean(ScopedTargetEndpointConfiguration.class).testEndpoint();
156+
Collection<TestExposableEndpoint> endpoints = new TestEndpointDiscoverer(
157+
context).getEndpoints();
158+
assertThat(endpoints).flatExtracting(TestExposableEndpoint::getEndpointBean)
159+
.containsOnly(expectedEndpoint);
161160
});
162161
}
163162

0 commit comments

Comments
 (0)