Quarkus如何在运行时环境启用SmallRye Health的/q/health-ui界面
Quarkus生产环境开启SmallRye Health UI方案
你之前的配置不生效是两个写法错误导致的:
- Quarkus正式生产运行环境对应的配置Profile标识是
prod,不存在内置的runtimeProfile,所以%runtime前缀的配置不会在生产运行时被加载。 - 配置键名写错了,SmallRye Health扩展的UI配置项组名是
smallrye-health(带横杠),不是点分隔的smallrye.health。
正确配置方式
在项目的src/main/resources/application.properties中添加如下配置即可在生产环境开启健康检查UI:
# 仅生产环境开启Health UI %prod.quarkus.smallrye-health.ui.enable=true
如果需要所有运行环境(开发、测试、生产)都默认开启UI,直接去掉Profile前缀即可:
quarkus.smallrye-health.ui.enable=true
额外校验点
如果配置后依然无法访问,逐一检查以下项:
- 确认正式构建的包中引入了
quarkus-smallrye-health依赖,没有在生产构建配置中排除该扩展 - 若自定义过
quarkus.http.root-path、quarkus.smallrye-health.ui.root-path配置,需要使用修改后的完整路径访问,默认访问路径为/q/health-ui - 若服务前部署了反向代理、网关,需要确认
/q/health-ui/*路径的请求没有被拦截,能够正常透传到Quarkus服务 - 启动服务后查看控制台打印的已安装路由列表,确认Health UI的路由已正常注册
内容的提问来源于stack exchange,提问作者user17396010
相关产品推荐
相关产品推荐

