@Retention(value=RUNTIME) @Target(value={METHOD,TYPE}) @Documented @Conditional(value=org.springframework.boot.actuate.autoconfigure.endpoint.condition.OnEnabledEndpointCondition.class) public @interface ConditionalOnEnabledEndpoint
@Conditional
that checks whether an endpoint is enabled or not.
Matches according to the endpoints specific Environment
property, falling back
to management.endpoints.enabled-by-default
or failing that
Endpoint.enableByDefault()
.
When placed on a @Bean
method, the endpoint defaults to the return type of the
factory method:
@Configuration public class MyConfiguration { @ConditionalOnEnableEndpoint @Bean public MyEndpoint myEndpoint() { ... } }
It is also possible to use the same mechanism for extensions:
@Configuration public class MyConfiguration { @ConditionalOnEnableEndpoint @Bean public MyEndpointWebExtension myEndpointWebExtension() { ... } }
In the sample above, MyEndpointWebExtension
will be created if the endpoint is
enabled as defined by the rules above. MyEndpointWebExtension
must be a regular
extension that refers to an endpoint, something like:
@EndpointWebExtension(endpoint = MyEndpoint.class) public class MyEndpointWebExtension { }
Alternatively, the target endpoint can be manually specified for components that should only be created when a given endpoint is enabled:
@Configuration public class MyConfiguration { @ConditionalOnEnableEndpoint(endpoint = MyEndpoint.class) @Bean public MyComponent myComponent() { ... } }
Endpoint
public abstract Class<?> endpoint
@Bean
method is either an @Endpoint
or an
@EndpointExtension
.Copyright © 2019 Pivotal Software, Inc.. All rights reserved.