内容简介:2019.01.23 期待已久的Spring Cloud Greenwich 发布了release版本,作为我们团队也第一时间把RC版本替换为release,以下为总结,希望对你使用Spring Cloud Greenwich 有所帮助Greenwich 只支持 Spring Boot 2.1.x 分支。如果使用 2.0.x 请使用Finchley版本,
2019.01.23 期待已久的Spring Cloud Greenwich 发布了release版本,作为我们团队也第一时间把RC版本替换为release,以下为总结,希望对你使用Spring Cloud Greenwich 有所帮助
Greenwich 只支持 Spring Boot 2.1.x 分支。如果使用 2.0.x 请使用Finchley版本,
pom坐标
主要是适配 JAVA 11
<!--支持Spring Boot 2.1.X--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>2.1.2.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> <!--Greenwich.RELEASE--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Greenwich.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency>
升级netflix版本,DiscoveryClient支持获取InstanceId
Spring Cloud Config 提供了新的存储介质
除了Git、File、JDBC,新版本提供 在Cloud Foundry的CredHub存储功能
spring: profiles: active: credhub cloud: config: server: credhub: url: https://credhub:8844
Spring Cloud Gateway
支持整合OAuth2
这里提供了一个例子: Spring Cloud Gateway and Spring Security OAuth2
整合的时候有个坑可以参考这个issue: ReactiveManagementWebSecurityAutoConfiguration Prevent's oauth2Login from being defaulted
新增重写响应头过滤器
spring: cloud: gateway: routes: - id: rewriteresponseheader_route uri: http://example.org filters: - RewriteResponseHeader=X-Response-Foo, , password=[^&]+, password=***
Feign 的新特性和坑
@SpringQueryMap 对Get请求进行了增强
- 终于解决这个问题了
- 不用直接使用OpenFeign新增的@QueryMap,由于缺少value属性 QueryMap注释与Spring不兼容...
异常解决
对Spring Cloud Finchley 进行直接升级时候发现feign启动报错了
*************************** APPLICATION FAILED TO START *************************** Description: The bean 'pigx-upms-biz.FeignClientSpecification', defined in null, could not be registered. A bean with that name has already been defined in null and overriding is disabled. Action: Consider renaming one of the beans or enabling overriding by setting spring.main.allow-bean-definition-overriding=true Process finished with exit code 1
- 第一种粗暴的解决方法,异常日志中说明了,在
bootstrap.yml
中配置
spring.main.allow-bean-definition-overriding=true
这是Spring Boot 2.1 后新增的属性运行bean 覆盖, 不要配置到配置中心里面 ,不然无效
- 第二种,就是把通过同一个服务调用的代码,移动到同一个@FeignClient中
- contextId ,这个是@FeignClient 新增的一个属性
This will be used as the bean name instead of name if present, but will not be used as a service id.
就可以用这个属性区分@FeigenClient 标志的同一个service 的接口
总结
- Spring Cloud F -- > G 变化很小,微乎其微主要是JAVA11的兼容
- 很遗憾没有看到 Spring Cloud Alibaba 加油。
- Spring Cloud LoadBalancer 还是老样子。目前来看暂时无法替代 ribbon
- 欢迎加我Q2270033969,讨论Spring Cloud ^_^
以上所述就是小编给大家介绍的《Spring Cloud Greenwich 新特性和F升级分享》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 怎么把网站升级到QUIC以及QUIC特性分析
- Edge 浏览器新特性:API 升级、扩展插件改善
- 【重磅】Greenplum 内核升级至 PostgreSQL 12,众多新特性惊喜不断
- Android Pie 引入 Keystore 新特性,安全防护再升级
- Android Pie 引入 Keystore 新特性,安全防护再升级
- Android Pie 引入 Keystore 新特性,安全防护再升级
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。