アノテーションインターフェース 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>
固有のプロパティのいずれかに従って露出を一致させるか、アプリケーションが CloudPlatform.CLOUD_FOUNDRY
で実行されているかどうかに失敗します。エンドポイントが使用可能であると見なされるには、これらの条件の両方が一致する必要があります。@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
- 関連事項:
オプション要素のサマリー
オプション要素
要素の詳細
endpoint
ClassSE<?> endpoint- 戻り値:
- チェックするエンドポイント型
- デフォルト:
- java.lang.Void.class
exposure
EndpointExposure[] exposureエンドポイントが利用可能であると見なしながら、エンドポイントの露出をチェックするテクノロジー。- 戻り値:
- チェックするテクノロジー
- 導入:
- 2.6.0
- デフォルト:
- {}