@RetentionSE(valueSE=RUNTIMESE) @TargetSE(valueSE={METHODSE,TYPESE}) @DocumentedSE @Conditional(value=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() {
...
}
}Endpointpublic abstract ClassSE<?> endpoint
Copyright © 2019 Pivotal Software, Inc.. All rights reserved.