升級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
- Spring Cloud服務框架版本升級--JDK10+Gradle4.9+Spring Boot 2.0+Finchley.SR1Cloud框架JDKGradleSpring Boot
- Istio 升級後踩的坑
- Spring cloud系列十八 Spring Cloud 從Dalston.SR5到Greenwich.SR1 的升級記錄SpringCloud
- Spring Cloud Alibaba IDE 工具重大升級SpringCloudIDE
- Spring Boot 單體應用一鍵升級成 Spring Cloud AlibabaSpring BootCloud
- Spring Cloud Config 分散式配置中心【Finchley 版】SpringCloud分散式
- Spring Cloud 升級之路 - 2020.0.x - 7. 使用 Spring Cloud LoadBalancer (2)SpringCloud
- Spring Cloud 升級之路 - 2020.0.x - 6. 使用 Spring Cloud LoadBalancer (1)SpringCloud
- 跟我學Spring Cloud(Finchley版)-08-Ribbon深入SpringCloud
- 記一次spring cloud踩坑SpringCloud
- Spring Cloud Greenwich 新特性和F升級分享SpringCloud
- Spring Cloud Alibaba到底坑不坑?SpringCloud
- 跟我學Spring Cloud(Finchley版)-03-監控:強大的Spring Boot ActuatorCloudSpring Boot
- 踩過的坑(一)——web容器升級Web
- 微服務 | Spring Cloud(一):從單體SSM 到 Spring Cloud微服務SpringCloudSSM
- AndroidStudio升級到3.1及Gradle4.4的填坑AndroidGradle
- # Laravel 5.5 升級到 6.0 踩坑記錄Laravel
- 記一次版本升級遇到的坑
- Spring Cloud 升級之路 - 2020.0.x - 3. Undertow 的 accesslog 配置SpringCloud
- Spring Cloud 升級之路 - 2020.0.x - 5. 理解 NamedContextFactorySpringCloudContext
- Spring Cloud Gateway入坑記SpringCloudGateway
- Spring Cloud Finchley版中Consul多例項註冊的問題處理SpringCloud
- 跟我學Spring Cloud(Finchley版)-06-服務註冊與SpringCloud
- AndroidStudio升級3.x之後太坑了Android
- Spring Boot 2.x 到 3.2 的全面升級指南Spring Boot
- MySQL 5.6.47升級到5.7.20(一)MySql
- Ionic 2 Beta 11 升級 RC 0 的坑 (update: RC 1 已經出來了,稍微沒那麼坑一點點)
- 記一次阿里雲 Redis 主從版升級到 Redis 叢集版的坑阿里Redis
- SpringCloud升級之路2020.0.x版-29.Spring Cloud OpenFeign 的解析(1)SpringGCCloud
- MySQL5.5升級到MySQL5.7踩坑日記MySql
- 【備忘】EntityFramework 6 升級到 EntityFrameworkCore 注意點Framework
- 將自己的站點升級成HTTPS的(瘋狂踩坑)過程HTTP
- ArchLinux/Manjaro升級到6.9核心後的問題解決LinuxJAR
- 記一次uboot升級過程的兩個坑boot
- Spring-Cloud整合Spring-Session的注意點SpringCloudSession
- SpringCloud升級之路2020.0.x版-21.Spring Cloud LoadBalancer簡介SpringGCCloud