为了监控应用,Spring Boot提供了EndPoint的支持。
目前提供了十一种,其中大部分都包含默认实现,只有其中的Info需要用户自己提供。
Info的存在很大程度上可以替代AppCheck功能。
最简单添加Info信息的方式就是自己在配置中写入
info.name=app
这样访问/info就可以获得类似这样的结果
{
name: 'app'
}
但是有一些信息是不固定的,比如版本号。
这种可以使用打包工具去完成信息的填充。比如写成
info.version=${version}
在Gradle配置中加上
processResources{
expand(project.properties)
}
当然这样写有一些问题,如果你是用了Flyway等数据库版本管理工具,那么你原声的SQL文件也会被处理,视情况而定,有很高几率信息填充会失败。
所以先过滤一下
processResources {
filesMatching('**/*.properties') { expand(project.properties) }
}
当然,有时候我们还需要一些版本库的信息,比如Git相关信息。
可以Gradle的Git插件来获取数据,然后提供给Info。
importorg.ajoberstar.grgit.Grgit
Grgit repo = Grgit.open(project.file('.'))
ext.git = [
name