我正在运行一个从 spring-cloud 配置服务器获取配置的 spring.boot 应用程序。该应用程序非常简单,一个访问 Oracle 数据库的 rest api。在应用程序上下文中,有一个包裹在 ia Hihari 池中的 Oracle 数据源。
运行 /actuator/health 时,不会触发数据库健康检查。输出:
{
status: "UP",
components: {
clientConfigServer: {
status: "UP",
details: {
propertySources: [
"configClient",
"/var/git-repo/xxx/xxx-localhost.yml",
"/var/git-repo/application-localhost.properties",
"/var/git-repo/xxx/xxx.yml",
"/var/git-repo/application.properties"
]
}
},
discoveryComposite: {
description: "Discovery Client not initialized",
status: "UNKNOWN",
components: {
discoveryClient: {
description: "Discovery Client not initialized",
status: "UNKNOWN"
}
}
},
diskSpace: {
status: "UP",
details: {
total: 1587526397952,
free: 1272794873856,
threshold: 10485760
}
},
ping: {
status: "UP"
},
refreshScope: {
status: "UP"
}
}
}
但是,如果我关闭配置服务器并通过以下方式使用本地配置: spring.cloud.config.enabled=false 输出为:
{
status: "UP",
components: {
db: {
status: "UP",
details: {
database: "Oracle",
result: "Hello",
validationQuery: "SELECT 'Hello' from DUAL"
}
},
discoveryComposite: {
description: "Discovery Client not initialized",
status: "UNKNOWN",
components: {
discoveryClient: {
description: "Discovery Client not initialized",
status: "UNKNOWN"
}
}
},
diskSpace: {
status: "UP",
details: {
total: 1587526397952,
free: 1272794869760,
threshold: 10485760
}
},
ping: {
status: "UP"
},
refreshScope: {
status: "UP"
}
}
}
我确信对此有解释,但我似乎找不到它,所以任何帮助将不胜感激。