目前遇到过两次无法加载nacos配置的事件,做个记录
1、nacos格式问题
nacos采用的yaml格式,那么会出现一个问题就是格式,有时候非常莫名奇妙,单纯的看是看出来的,而且还没有办法测试,但是程序里面的bootstrap.yaml
就是加载不到nacos的配置,之前临时的解决方法是把nacos的配置在jar包里面的bootstrap.yaml
文件写死。要根本解决,还得解决格式问题,可以找一个其他的项目正常的nacos配置,利用平台的导入导出,然后在一点点的修改这个配置,最后可以成功。
2、程序加载不到
这次依然和上面这样,程序启动加载不到配置,是一个spring.redis.password
的配置,以为是格式问题,实际上是跟启动的一个参数有关,就是--spring.profiles.active=prod
,这个参数有两种写的方式:
一种是-Dspring.profiles.active=prod
,另一种就是--spring.profiles.active=prod
,这两个有区别,如下所示:
前者是该启动参数需要跟在jar包的前面才行,而后者则是跟在jar包的后面才行。否则加载不到,那么启动时就报加载不到redis的配置,造成以为是nacos的问题。实际上并不是。解决问题还是需要问题本质查找才行。
比如:
root 31628 13.6 2.4 4370024 797980 ? Sl Aug04 2570:50 /usr/local/jdk1.8.0_211/bin/java -Xmx512m -Xms512m -Xss512k -Xmn170m -XX:SurvivorRatio=8 -server -verbose:gc -Xloggc:/data/applogs/tyb-idgenerator-server/gc_%t.log -XX:+UseConcMarkSweepGC -XX:+UseCMSInitiatingOccupancyOnly -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=10 -XX:CMSInitiatingOccupancyFraction=70 -jar service-1.0.0.0-SNAPSHOT.jar --spring.profiles.active=prod