@RetentionSE(valueSE=RUNTIMESE) @TargetSE(valueSE={METHODSE,TYPESE}) @DocumentedSE @Conditional(value=org.springframework.boot.actuate.autoconfigure.endpoint.condition.OnEnabledEndpointCondition.class) public @interface ConditionalOnEnabledEndpoint
Conditional
。エンドポイント固有の Environment
プロパティに従って一致し、management.endpoints.enabled-by-default
にフォールバックするか、その Endpoint.enableByDefault()
に失敗します。@Bean
メソッドに配置すると、エンドポイントはデフォルトでファクトリメソッドの戻り値の型になります。
@Configuration public class MyConfiguration { @ConditionalOnEnableEndpoint @Bean public MyEndpoint myEndpoint() { ... } }
拡張機能に同じメカニズムを使用することもできます。
@Configuration public class MyConfiguration { @ConditionalOnEnableEndpoint @Bean public MyEndpointWebExtension myEndpointWebExtension() { ... } }
上記のサンプルでは、エンドポイントが上記のルールで定義されているように有効化されている場合、MyEndpointWebExtension
が作成されます。MyEndpointWebExtension
は、エンドポイントを参照する通常の拡張である必要があります。
@EndpointWebExtension(endpoint = MyEndpoint.class) public class MyEndpointWebExtension { }
または、特定のエンドポイントが有効になっている場合にのみ作成する必要があるコンポーネントに対して、ターゲットエンドポイントを手動で指定できます。
@Configuration public class MyConfiguration { @ConditionalOnEnableEndpoint(endpoint = MyEndpoint.class) @Bean public MyComponent myComponent() { ... } }
Endpoint
public abstract ClassSE<?> endpoint
Copyright © 2019 Pivotal Software, Inc.. All rights reserved.