アノテーションインターフェース 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
関連事項:
  • オプション要素の概要

    オプション要素
    修飾子と型
    オプションの要素
    説明
    チェックする必要があるエンドポイント型。
    エンドポイントが利用可能であると見なしながら、エンドポイントの露出をチェックするテクノロジー。
    endpoint() のエイリアス。
  • 要素の詳細

    • value

      @AliasFor(attribute="endpoint") ClassSE<?> value
      endpoint() のエイリアス。
      戻り値:
      チェックするエンドポイント型
      導入:
      3.4.0
      デフォルト:
      java.lang.Void.class
    • endpoint

      @AliasFor(attribute="value") ClassSE<?> endpoint
      チェックする必要があるエンドポイント型。@Bean メソッドの戻り値の型が @Endpoint または @EndpointExtension の場合に推測されます。
      戻り値:
      チェックするエンドポイント型
      デフォルト:
      java.lang.Void.class
    • exposure

      EndpointExposure[] exposure
      エンドポイントが利用可能であると見なしながら、エンドポイントの露出をチェックするテクノロジー。
      戻り値:
      チェックするテクノロジー
      導入:
      2.6.0
      デフォルト:
      {}