1. git倉(cāng)庫(kù)中配置文件的名字是有作用的
比如utaha-dev.yml,代表了{(lán)application}-{profile},application要和文件所屬的application.name一致。
2. 配置加密方式要寫(xiě)在bootstrap.yml里
bootstrap.yml里的屬性比application.yml里的優(yōu)先級(jí)要高,加密配置比如:
encrypt:
key-store:
location: file:D:/java/java-encrypt/config-server.keystore
alias: config-server
secret: keypass
password: storepass
之后配置在application-local里的密文{cipher}才會(huì)被順利解密。同理,客戶(hù)端中對(duì)spring.cloud.config的配置也要放在bootstrap.yml中。
3. yml格式的配置文件中,String格式的字段太長(zhǎng)的話(huà)需要加上' '
通過(guò)RSA加密的密文一般都很長(zhǎng),長(zhǎng)文本不加' 'yml會(huì)無(wú)法識(shí)別而報(bào)錯(cuò)(報(bào)錯(cuò)沒(méi)仔細(xì)研究,也有可能是因?yàn)槊芪闹杏刑厥庾址绊憏ml的識(shí)別):
java.lang.IllegalStateException: Failed to load property source from location 'classpath:/application-local.yml'
Caused by: org.yaml.snakeyaml.parser.ParserException: while parsing a block mapping, expected <block end>, but found Scalar
4.spring.application.name,應(yīng)用名稱(chēng)(服務(wù)名稱(chēng)),最好用全大寫(xiě)。
雖然在feign中不區(qū)分大小寫(xiě),但是配置文件里要用到serviceId的時(shí)候是區(qū)分大小寫(xiě)的,比如zuul的映射和configClient需要使用的service。需要注意的是zuul.ignored-services忽略自動(dòng)映射的服務(wù)這里,serviceId又只能用小寫(xiě),還在研究這個(gè)的實(shí)際原因。