说明
最近开始使用SpringCloud的Finchley版本,从中踩了一些坑,这里记录一下SpringCloud组件在高版本下的一些变化
快速开始
引入spring-cloud Finchley.SR1
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<spring-cloud.version>Finchley.SR1</spring-cloud.version>
</properties>
1 Eureka
服务提供者: 如果出现类似下面的错误,表示你的application.yml出了问题:
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.ip-address或者spring.cloud.client.ipAddress,即用大写或者使用-+小写替代都行,现在只能用-+小写来命名了,虽然使用原来的写法IDEA也不会报错,但编译不会通过。。。
修改后的application.yml类似下面的:
eureka:
client:
register-with-eureka: true
enabled: true
service-url:
# 如果是本机测试将xxx换成localhost即可,服务器则填写IP地址
defaultZone: http://xxx.xxx.xxx.xxx:8761/eureka/,http://xxx.xxx.xxx.xxx:8762/eureka/
# 如果服务提供者不是运行在本机的话需要加上下面的注释,否则注册中心无法通过ip查找服务(从注册中心的实例名称也能看出来)
instance:
prefer-ip-address: true
instance-id: ${spring.cloud.client.ip-address}:${server.port}
hostname: ${spring.cloud.c