アノテーションインターフェース ConditionalOnAvailableEndpoint
@RetentionSE(RUNTIMESE)
@TargetSE({METHODSE,TYPESE})
@DocumentedSE
@Conditional(org.springframework.boot.actuate.autoconfigure.endpoint.condition.OnAvailableEndpointCondition.class)
public @interface ConditionalOnAvailableEndpoint
エンドポイントが利用可能かどうかを確認する
@Conditional。エンドポイントは、指定されたテクノロジで有効化され、公開されている場合に利用可能であると見なされます。 エンドポイントの特定の Environment プロパティに従ってアクセスを一致させ、management.endpoints.default-access にフォールバックするか、それが失敗した場合は Endpoint.defaultAccess() にします。
management.endpoints.web.exposure.<id> または management.endpoints.jmx.exposure.<id> 固有のプロパティのいずれかに従って露出を一致させます。それができない場合は、EndpointExposureOutcomeContributor がエンドポイントを公開するかどうかに応じて一致させます。
エンドポイントが利用可能であるとみなされるためには、有効化条件と公開条件の両方が一致している必要があります。
@Bean メソッドに配置すると、エンドポイントはデフォルトでファクトリメソッドの戻り値の型になります。
@Configuration
public class MyConfiguration {
@ConditionalOnAvailableEndpoint
@Bean
public MyEndpoint myEndpoint() {
...
}
}拡張機能に同じメカニズムを使用することもできます。
@Configuration
public class MyConfiguration {
@ConditionalOnAvailableEndpoint
@Bean
public MyEndpointWebExtension myEndpointWebExtension() {
...
}
} 上記のサンプルでは、上記のルールで定義されているようにエンドポイントが使用可能な場合、MyEndpointWebExtension が作成されます。MyEndpointWebExtension は、次のようなエンドポイントを参照する通常の拡張機能である必要があります。
@EndpointWebExtension(endpoint = MyEndpoint.class)
public class MyEndpointWebExtension {
}または、特定のエンドポイントが使用可能な場合にのみ作成する必要があるコンポーネントに対して、ターゲットエンドポイントを手動で指定することもできます。
@Configuration
public class MyConfiguration {
@ConditionalOnAvailableEndpoint(endpoint = MyEndpoint.class)
@Bean
public MyComponent myComponent() {
...
}
}- 導入:
- 2.2.0
- 作成者:
- Brian Clozel, Stephane Nicoll, Andy Wilkinson, Phillip Webb
- 関連事項:
オプション要素の概要
オプション要素修飾子と型オプションの要素説明ClassSE<?> チェックする必要があるエンドポイント型。エンドポイントが利用可能であると見なしながら、エンドポイントの露出をチェックするテクノロジー。ClassSE<?> endpoint()のエイリアス。
要素の詳細
value
endpoint
- 戻り値:
- チェックするエンドポイント型
- デフォルト:
java.lang.Void.class
exposure
EndpointExposure[] exposureエンドポイントが利用可能であると見なしながら、エンドポイントの露出をチェックするテクノロジー。- 戻り値:
- チェックするテクノロジー
- 導入:
- 2.6.0
- デフォルト:
{}