当前位置:首页 > 编程教程 > java技术文章 > 浅谈升级Spring Cloud到Finchley后的一点坑

Spring Cloud到Finchley升级详解

  • 发布时间:
  • 作者:码农之家
  • 点击:113

这篇文章主要知识点是关于Spring、Cloud、Finchley、的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子书

Spring MVC学习指南
Spring MVC学习指南中文超清第2版
  • 类型:Spring大小:83.3 MB格式:PDF作者:Paul Deck
立即下载

浅谈升级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不会对之前的老版本的项目产生影响,会自动解析并正确赋值

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持码农之家。

以上就是本次给大家分享的关于java的全部知识点内容总结,大家还可以在下方相关文章里找到相关文章进一步学习,感谢大家的阅读和支持。

Spring Cloud 相关电子书
学习笔记
网友NO.654426

Spring Cloud升级最新Finchley版本的所有坑

Spring Boot 2.x 已经发布了很久,现在 Spring Cloud 也发布了 基于 Spring Boot 2.x 的 Finchley 版本,现在一起为项目做一次整体框架升级。 升级前 = 升级后 Spring Boot 1.5.x = Spring Boot 2.0.2 Spring Cloud Edgware SR4 = Spring Cloud Finchley.RELEASE Eureka Server Eureka Server 依赖更新 升级前: dependency groupIdorg.springframework.cloud/groupId artifactIdspring-cloud-starter-eureka-server/artifactId/dependency 升级后: dependency groupIdorg.springframework.cloud/groupId artifactIdspring-cloud-starter-netflix-eureka-server/artifactId/dependency Eureka Client 因为配置中心需要作为服务注册到注册中心,所以需要升级 Eureka Client,其他依赖没有变动。 Eureka Client 依赖更新 升级前: dependency groupIdorg.springframework.cloud/groupId artifactIdspring-cloud-starter-eureka/artifactId/dependency 升级后: dependency groupIdorg.springframework.cloud/groupId artifactIdspring-cloud-starter-netflix-eureka-……

网友NO.513641

spring cloud升级到spring boot 2.x/Finchley.RELEASE遇到的坑

spring boot2.x已经出来好一阵了,而且spring cloud 的最新Release版本Finchley.RELEASE,默认集成的就是spring boot 2.x,这几天将一个旧项目尝试着从低版本升级到 2.x,踩坑无数,记录一下: 显著变化: 与 Spring Boot 2.0.x 兼容 不支持 Spring Boot 1.5.x 最低要求 Java 8 新增 Spring Cloud Function 和 Spring Cloud Gateway 一、gradle的问题 spring boot 2.x 要求gradle版本不能太旧,先把gradle升级到4.6版本,然后编译,各种问题,到gradle官网上查了下,build.gradle有几个小地方要调整 1.1 java-libary 的项目 即:纯工具包这种公用jar,plugins{}必须放在第1行(有buildscript的除外),类似: plugins { id 'java-library'} 然后按官网的教程,compile最好换成implementation dependencies { implementation( ... )} 1.2 常规java项目(指带容器能独立运行的项目) buildscript { ext { springBootVersion = '2.0.1.RELEASE' } repositories { maven { url "http://maven.……

网友NO.351997

详解Spring Cloud Finchley版中Consul多实例注册的问题处理

consul 简介 consul 具有以下性质: 服务发现:consul通过http 方式注册服务,并且服务与服务之间相互感应。 服务健康监测 key/value 存储 多数据中心 consul可运行在mac windows linux 等机器上。 由于Spring Cloud对Etcd的支持一直没能从孵化器中出来,所以目前来说大多用户还在使用Eureka和Consul,之前又因为Eureka 2.0不在开源的消息,外加一些博眼球的标题党媒体使得Eureka的用户有所减少,所以,相信在选择Spring Cloud的用户群体中,应该有不少用户会选择Consul来做服务注册与发现。 本文就来说一下,当我们使用Spring Cloud最新的Finchley版 + Consul 1.2.x时候最严重的一个坑:多实例注册的问题。 问题解读 问题:该问题可能在开发阶段不一定会发现,但是在线上部署多实例的时候,将会发现Consul中只有一个实例。 原因:造成该问题的主要原因是Spring Cloud Consul在注册的时候……

<
1
>

Copyright 2018-2020 www.xz577.com 码农之家

版权投诉 / 书籍推广 / 赞助:520161757@qq.com