5858import org .springframework .boot .jersey .actuate .endpoint .web .JerseyHealthEndpointAdditionalPathResourceFactory ;
5959import org .springframework .boot .jersey .autoconfigure .ResourceConfigCustomizer ;
6060import org .springframework .context .annotation .Bean ;
61+ import org .springframework .context .annotation .Configuration ;
6162import org .springframework .core .env .Environment ;
6263import org .springframework .util .StringUtils ;
6364
@@ -92,21 +93,6 @@ JerseyWebEndpointsResourcesRegistrar jerseyWebEndpointsResourcesRegistrar(Enviro
9293 endpointMediaTypes , basePath , shouldRegisterLinks );
9394 }
9495
95- @ Bean
96- @ ConditionalOnManagementPort (ManagementPortType .DIFFERENT )
97- @ ConditionalOnBean (HealthEndpoint .class )
98- @ ConditionalOnAvailableEndpoint (endpoint = HealthEndpoint .class , exposure = EndpointExposure .WEB )
99- JerseyAdditionalHealthEndpointPathsManagementResourcesRegistrar jerseyDifferentPortAdditionalHealthEndpointPathsResourcesRegistrar (
100- WebEndpointsSupplier webEndpointsSupplier , HealthEndpointGroups healthEndpointGroups ) {
101- Collection <ExposableWebEndpoint > webEndpoints = webEndpointsSupplier .getEndpoints ();
102- ExposableWebEndpoint healthEndpoint = webEndpoints .stream ()
103- .filter ((endpoint ) -> endpoint .getEndpointId ().equals (HEALTH_ENDPOINT_ID ))
104- .findFirst ()
105- .orElse (null );
106- return new JerseyAdditionalHealthEndpointPathsManagementResourcesRegistrar (healthEndpoint ,
107- healthEndpointGroups );
108- }
109-
11096 @ Bean
11197 @ ConditionalOnBean (org .springframework .boot .actuate .endpoint .jackson .EndpointJackson2ObjectMapper .class )
11298 @ SuppressWarnings ("removal" )
@@ -122,6 +108,27 @@ private boolean shouldRegisterLinksMapping(WebEndpointProperties properties, Env
122108 || ManagementPortType .get (environment ).equals (ManagementPortType .DIFFERENT ));
123109 }
124110
111+ @ Configuration (proxyBeanMethods = false )
112+ @ ConditionalOnClass (HealthEndpoint .class )
113+ static class HealthConfiguration {
114+
115+ @ Bean
116+ @ ConditionalOnManagementPort (ManagementPortType .DIFFERENT )
117+ @ ConditionalOnBean (HealthEndpoint .class )
118+ @ ConditionalOnAvailableEndpoint (endpoint = HealthEndpoint .class , exposure = EndpointExposure .WEB )
119+ JerseyAdditionalHealthEndpointPathsManagementResourcesRegistrar jerseyDifferentPortAdditionalHealthEndpointPathsResourcesRegistrar (
120+ WebEndpointsSupplier webEndpointsSupplier , HealthEndpointGroups healthEndpointGroups ) {
121+ Collection <ExposableWebEndpoint > webEndpoints = webEndpointsSupplier .getEndpoints ();
122+ ExposableWebEndpoint healthEndpoint = webEndpoints .stream ()
123+ .filter ((endpoint ) -> endpoint .getEndpointId ().equals (HEALTH_ENDPOINT_ID ))
124+ .findFirst ()
125+ .orElse (null );
126+ return new JerseyAdditionalHealthEndpointPathsManagementResourcesRegistrar (healthEndpoint ,
127+ healthEndpointGroups );
128+ }
129+
130+ }
131+
125132 /**
126133 * Register endpoints with the {@link ResourceConfig} for the management context.
127134 */
@@ -178,7 +185,7 @@ private void register(Collection<Resource> resources, ResourceConfig config) {
178185
179186 }
180187
181- class JerseyAdditionalHealthEndpointPathsManagementResourcesRegistrar
188+ static class JerseyAdditionalHealthEndpointPathsManagementResourcesRegistrar
182189 implements ManagementContextResourceConfigCustomizer {
183190
184191 private final @ Nullable ExposableWebEndpoint healthEndpoint ;
0 commit comments