springboot 集成 apollo
springboot 集成 apollo
具体apollo的安装,请参考本人博客文章:携程apollo linux服务器安装部署及问题记录_chen_lay的博客-CSDN博客
下面介绍springboot集成apollo
一、pom文件中引入apollo依赖
<dependency>
<groupId>com.ctrip.framework.apollo</groupId>
<artifactId>apollo-client</artifactId>
<version>2.0.1</version>
</dependency>
二、项目application.yml文件中添加apollo相关的配置
由于不同的环境,需要的apollo配置是不一样的,所以将apollo配置到对应的application-env.yml中即可
例如开发环境,直接将配置到application-dev.yml文件中,
application-dev.yml:
#apollo相关配置 开始#
app:
# 与Apollo Portal上面创建的app id保持一致
id: mgggyx
# 项目启动时需要添加启动参数 -Denv=DEV 来指定 apollo环境
apollo:
# 就是apollo config server的地址
meta: http://192.168.2.180:8080
bootstrap:
# 是否开启 Apollo
enabled: true
eagerLoad:
# 将 Apollo 加载提到初始化日志系统之前,如果设置为false,则配置中心中修改日志信息不会生效
enabled: true
namespaces: application.yml, application
cacheDir: ./config
# 刷新时间,单位:分钟,默认5
refreshInterval: 5
#对应apollo配置中心环境
env: DEV
#apollo相关配置 结束#
注意:apollo配置中心文件默认是.properties,如果apollo配置中心中的配置是放在*.yml文件中,此处的apollo.bootstrap.namespaces参数要完整的加上.yml后缀,否则不会生效。
相关配置的简单介绍如下:
apollo.meta: Apollo 配置中心地址。
apollo.cluster: 指定使用某个集群下的配置。
apollo.bootstrap.enabled: 是否开启 Apollo。
apollo.bootstrap.namespaces : 指定使用哪个 Namespace 的配置,默认 application。
apollo.cacheDir=/opt/data/some-cache-dir: 为了防止配置中心无法连接等问题,Apollo 会自动将配置本地缓存一份。
apollo.autoUpdateInjectedSpringProperties: Spring应用通常会使用 Placeholder 来注入配置,如${someKey:someDefaultValue},冒号前面的是 key,冒号后面的是默认值。如果想关闭 placeholder 在运行时自动更新功能,可以设置为 false。
apollo.bootstrap.eagerLoad.enabled : 将 Apollo 加载提到初始化日志系统之前,如果设置为 false,那么将打印出 Apollo 的日志信息,但是由于打印 Apollo 日志信息需要日志先启动,启动后无法对日志配置进行修改,所以 Apollo 不能管理应用的日志配置,如果设置为 true,那么 Apollo 可以管理日志的配置,但是不能打印出 Apollo 的日志信息。
三、启动类中添加@EnableApolloConfig注解
四、启动项目时,添加JVM启动参数:环境变量
本人使用的intellij idea开发,所以在启动配置中添加即可,如下:
如果是命令启动,启动时直接添加--env=DEV 参数即可
说明:此启动参数由于已在上面的application-dev.yml文件中添加,所以启动时此处不添加也可以,只是项目启动日志会有些别扭,自己根据实际情况自行处理。
更多推荐
所有评论(0)