endpoints.health.path
プロパティを/ping/me
に設定しました。しかし、 http:// localhost:9000/ping/me を使用してエンドポイントにアクセスすることはできません http:// localhost:9000/health でのみ機能します。何が足りないのですか?これがアプリプロパティファイルのコードです。
#Configuration for Health endpoint
endpoints.health.id=health
endpoints.health.path=/ping/me
endpoints.health.enabled=true
endpoints.health.sensitive=false
#Manage endpoints
management.port=9000
management.health.diskspace.enabled=false
私が得る応答は次のとおりです。
{
"timestamp" : 1455736069839,
"status" : 404,
"error" : "Not Found",
"message" : "Not Found",
"path" : "/ping/me"
}
Spring Boot 2については以下を参照してください。*https://stackoverflow.com/a/50364513/2193477
MvcEndpoints
は、_endpoints.{name}.path
_構成を読み取り、そのafterPropertiesSet
メソッドで何らかの方法で読み取りを行います。
_for (Endpoint<?> endpoint : delegates) {
if (isGenericEndpoint(endpoint.getClass()) && endpoint.isEnabled()) {
EndpointMvcAdapter adapter = new EndpointMvcAdapter(endpoint);
String path = this.applicationContext.getEnvironment()
.getProperty("endpoints." + endpoint.getId() + ".path");
if (path != null) {
adapter.setPath(path);
}
this.endpoints.add(adapter);
}
}
_
isGenericEndpoint(...)
がfalse
に対してHealthEndpoint
を返すため、_endpoints.health.path
_の設定を拒否します。多分それはバグか何かです。
更新:どうやらこれはバグであり、 _1.3.3.RELEASE
_ バージョンで修正されました。したがって、このバージョンでは、ヘルスモニタリングパスとして_/ping/me
_を使用できます。
アクチュエーターはSpringBoot 2.0.0でテクノロジーに依存しないようになったため、現在はMVCに関連付けられていません。したがって、Spring Boot 2.0.xを使用する場合は、次の構成プロパティを追加するだけです。
# custom actuator base path: use root mapping `/` instead of default `/actuator/`
management.endpoints.web.base-path=
# override endpoint name for health check: `/health` => `/ping/me`
management.endpoints.web.path-mapping.health=/ping/me
management.endpoints.web.base-path
を上書きしない場合、ヘルスチェックは/actuator/ping/me
で利用できます。
endpoints.*
のようなプロパティは、Spring Boot2.0.0で非推奨になりました。