升級Spring Cloud到Finchley後的一點坑
最近為了使用Kotlin以及Webflux進行後臺應用開發,把Spring Cloud版本升級到了Finchley。
這種大版本的提升,坑自然是少不了的,我最近會把遇到問題都總結在這裡避免大家花太多時間在排坑上:
- Failed to bind properties under 'eureka.instance.instance-id' to java.lang.String:
Description:
Failed to bind properties under 'eureka.instance.instance-id' to java.lang.String:
Property: eureka.instance.instance-id
Value: ${spring.cloud.client.ipAddress}:${spring.application.name}:${spring.application.instance_id:${server.port}}
Origin: "eureka.instance.instance-id" from property source "bootstrapProperties"
Reason: Could not resolve placeholder 'spring.cloud.client.ipAddress' in value "${spring.cloud.client.ipAddress}:${spring.application.name}:${spring.application.instance_id:${server.port}}"
spring.cloud.client.ipAddress
這個引數已經不能被識別了
我們來看看原始碼:
# org.springframework.cloud.client.HostInfoEnvironmentPostProcessor
@Override
public void postProcessEnvironment(ConfigurableEnvironment environment,
SpringApplication application) {
InetUtils.HostInfo hostInfo = getFirstNonLoopbackHostInfo(environment);
LinkedHashMap<String, Object> map = new LinkedHashMap<>();
map.put("spring.cloud.client.hostname", hostInfo.getHostname());
map.put("spring.cloud.client.ip-address", hostInfo.getIpAddress());
MapPropertySource propertySource = new MapPropertySource(
"springCloudClientHostInfo", map);
environment.getPropertySources().addLast(propertySource);
}
發現原來的ipAddress已經改為ip-address,那麼我們在配置中心做相應的改正即可。
注:改為
ip-address
不會對之前的老版本的專案產生影響,會自動解析並正確賦值
未完待續,後面再慢慢總結。
相關文章
- oAuth2 升級Spring Cloud Finchley.RELEASE踩坑分享OAuthSpringCloud
- Spring Cloud Finchley.SR3包含重大升級SpringCloud
- Istio 升級後踩的坑
- Spring Cloud服務框架版本升級--JDK10+Gradle4.9+Spring Boot 2.0+Finchley.SR1Cloud框架JDKGradleSpring Boot
- Spring cloud系列十八 Spring Cloud 從Dalston.SR5到Greenwich.SR1 的升級記錄SpringCloud
- spring升級到3.1.1 hibernate升級到4備忘Spring
- Spring Boot 單體應用一鍵升級成 Spring Cloud AlibabaSpring BootCloud
- 踩過的坑(一)——web容器升級Web
- 記一次spring cloud踩坑SpringCloud
- Spring Cloud Greenwich 新特性和F升級分享SpringCloud
- Spring Cloud Alibaba IDE 工具重大升級SpringCloudIDE
- # Laravel 5.5 升級到 6.0 踩坑記錄Laravel
- Spring Cloud(Finchley.SR1)之feign(四)SpringCloud
- 微服務 | Spring Cloud(一):從單體SSM 到 Spring Cloud微服務SpringCloudSSM
- iOS一定要升級到最新的背後真相大揭秘iOS
- 記一次版本升級遇到的坑
- 9.2.0.4 升級到10.2.0.5升級後 Oracle Ultra Search 元件NO SCRIPTOracle元件
- Spring Cloud Alibaba到底坑不坑?SpringCloud
- 跟我學Spring Cloud(Finchley版)-08-Ribbon深入SpringCloud
- Spring Cloud Config 分散式配置中心【Finchley 版】SpringCloud分散式
- 跟我學Spring Cloud(Finchley版)-03-監控:強大的Spring Boot ActuatorCloudSpring Boot
- iOS一定要升級到最新的原因揭秘 背後的真相亮了iOS
- jQuery升級踩的那些坑jQuery
- MySQL 5.5複製升級到5.7的一點簡單嘗試MySql
- Spring Cloud Gateway入坑記SpringCloudGateway
- RxJava1 升級到 RxJava2 所踩過的坑RxJava
- ORACLE EXADATA升級—從11.2.3.1.0到11.2.3.3.0–(9)升級後的檢查Oracle
- Spring Cloud 升級之路 - 2020.0.x - 6. 使用 Spring Cloud LoadBalancer (1)SpringCloud
- Spring Cloud 升級之路 - 2020.0.x - 7. 使用 Spring Cloud LoadBalancer (2)SpringCloud
- Ionic 2 Beta 11 升級 RC 0 的坑 (update: RC 1 已經出來了,稍微沒那麼坑一點點)
- Spring Boot 2.x 到 3.2 的全面升級指南Spring Boot
- 遷移式升級的一點思考
- 跟我學Spring Cloud(Finchley版)-06-服務註冊與SpringCloud
- AndroidStudio升級到3.1及Gradle4.4的填坑AndroidGradle
- MySQL5.5升級到MySQL5.7踩坑日記MySql
- 【備忘】EntityFramework 6 升級到 EntityFrameworkCore 注意點Framework
- Cocoapods 版本升級遇到的坑
- MySQL 5.6.47升級到5.7.20(一)MySql