条件評価レポート (conditions)

conditions エンドポイントは、構成および自動構成クラスの条件の評価に関する情報を提供します。

レポートの取得

レポートを取得するには、次の curl ベースの例に示すように、GET リクエストを /actuator/conditions に作成します。

$ curl 'http://localhost:8080/actuator/conditions' -i -X GET

結果のレスポンスは次のようになります。

HTTP/1.1 200 OK
Content-Type: application/vnd.spring-boot.actuator.v3+json
Content-Length: 3705

{
  "contexts" : {
    "application" : {
      "positiveMatches" : {
        "EndpointAutoConfiguration#endpointOperationParameterMapper" : [ {
          "condition" : "OnBeanCondition",
          "message" : "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.endpoint.invoke.ParameterValueMapper; SearchStrategy: all) did not find any beans"
        } ],
        "JacksonEndpointAutoConfiguration#endpointObjectMapper" : [ {
          "condition" : "OnClassCondition",
          "message" : "@ConditionalOnClass found required classes 'com.fasterxml.jackson.databind.ObjectMapper', 'org.springframework.http.converter.json.Jackson2ObjectMapperBuilder'"
        }, {
          "condition" : "OnPropertyCondition",
          "message" : "@ConditionalOnProperty (management.endpoints.jackson.isolated-object-mapper) matched"
        } ],
        "EndpointAutoConfiguration#endpointCachingOperationInvokerAdvisor" : [ {
          "condition" : "OnBeanCondition",
          "message" : "@ConditionalOnMissingBean (types: org.springframework.boot.actuate.endpoint.invoker.cache.CachingOperationInvokerAdvisor; SearchStrategy: all) did not find any beans"
        } ]
      },
      "negativeMatches" : {
        "WebFluxEndpointManagementContextConfiguration" : {
          "notMatched" : [ {
            "condition" : "OnWebApplicationCondition",
            "message" : "not a reactive web application"
          } ],
          "matched" : [ {
            "condition" : "OnClassCondition",
            "message" : "@ConditionalOnClass found required classes 'org.springframework.web.reactive.DispatcherHandler', 'org.springframework.http.server.reactive.HttpHandler'"
          } ]
        },
        "GsonHttpMessageConvertersConfiguration.GsonHttpMessageConverterConfiguration" : {
          "notMatched" : [ {
            "condition" : "GsonHttpMessageConvertersConfiguration.PreferGsonOrJacksonAndJsonbUnavailableCondition",
            "message" : "AnyNestedCondition 0 matched 2 did not; NestedCondition on GsonHttpMessageConvertersConfiguration.PreferGsonOrJacksonAndJsonbUnavailableCondition.JacksonJsonbUnavailable NoneNestedConditions 1 matched 1 did not; NestedCondition on GsonHttpMessageConvertersConfiguration.JacksonAndJsonbUnavailableCondition.JsonbPreferred @ConditionalOnProperty (spring.mvc.converters.preferred-json-mapper=jsonb) did not find property 'spring.mvc.converters.preferred-json-mapper'; NestedCondition on GsonHttpMessageConvertersConfiguration.JacksonAndJsonbUnavailableCondition.JacksonAvailable @ConditionalOnBean (types: org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; SearchStrategy: all) found bean 'mappingJackson2HttpMessageConverter'; NestedCondition on GsonHttpMessageConvertersConfiguration.PreferGsonOrJacksonAndJsonbUnavailableCondition.GsonPreferred @ConditionalOnProperty (spring.mvc.converters.preferred-json-mapper=gson) did not find property 'spring.mvc.converters.preferred-json-mapper'"
          } ],
          "matched" : [ ]
        },
        "WebMvcEndpointManagementContextConfiguration#managementHealthEndpointWebMvcHandlerMapping" : {
          "notMatched" : [ {
            "condition" : "OnManagementPortCondition",
            "message" : "Management Port actual port type (SAME) did not match required type (DIFFERENT)"
          } ],
          "matched" : [ ]
        }
      },
      "unconditionalClasses" : [ "org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration", "org.springframework.boot.actuate.autoconfigure.endpoint.jackson.JacksonEndpointAutoConfiguration", "org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfiguration" ]
    }
  }
}

レスポンス構造

レスポンスには、アプリケーションの条件評価の詳細が含まれます。次の表に、レスポンスの構造を示します。

パス タイプ 説明

contexts

Object

ID をキーとするアプリケーションコンテキスト。

contexts.*.positiveMatches

Object

一致した条件を持つクラスとメソッド。

contexts.*.positiveMatches.*.[].condition

String

条件の名前。

contexts.*.positiveMatches.*.[].message

String

条件が一致した理由の詳細。

contexts.*.negativeMatches

Object

一致しなかった条件を持つクラスとメソッド。

contexts.*.negativeMatches.*.notMatched

Array

一致した条件。

contexts.*.negativeMatches.*.notMatched.[].condition

String

条件の名前。

contexts.*.negativeMatches.*.notMatched.[].message

String

条件が一致しなかった理由の詳細。

contexts.*.negativeMatches.*.matched

Array

一致した条件。

contexts.*.negativeMatches.*.matched.[].condition

String

条件の名前。

contexts.*.negativeMatches.*.matched.[].message

String

条件が一致した理由の詳細。

contexts.*.unconditionalClasses

Array

無条件の自動構成クラスの名前(ある場合)。

contexts.*.parentId

String

親アプリケーションコンテキストの ID(存在する場合)。