アノテーションインターフェース ConditionalOnAvailableEndpoint
@RetentionSE(RUNTIMESE)
@TargetSE({METHODSE,TYPESE})
@DocumentedSE
@Conditional(org.springframework.boot.actuate.autoconfigure.endpoint.condition.OnAvailableEndpointCondition.class)
public @interface ConditionalOnAvailableEndpoint
エンドポイントが利用可能かどうかを確認する
@Conditional
。エンドポイントは、指定されたテクノロジで有効化され、公開されている場合に利用可能であると見なされます。 エンドポイント固有の Environment
プロパティに従って有効化を一致させ、management.endpoints.enabled-by-default
にフォールバックするか、それが失敗した場合は Endpoint.enableByDefault()
にします。
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()
のエイリアス。- 戻り値:
- チェックするエンドポイント型
- 導入:
- 3.4.0
- デフォルト:
- java.lang.Void.class
endpoint
- 戻り値:
- チェックするエンドポイント型
- デフォルト:
- java.lang.Void.class
exposure
EndpointExposure[] exposureエンドポイントが利用可能であると見なしながら、エンドポイントの露出をチェックするテクノロジー。- 戻り値:
- チェックするテクノロジー
- 導入:
- 2.6.0
- デフォルト:
- {}