为什么gateway 启动时 org.springframework.cloud.commons.ConfigDataMissingEnvironmentPostProcessor不存在 无法启动

简介: 为什么gateway 启动时 org.springframework.cloud.commons.ConfigDataMissingEnvironmentPostProcessor不存在 无法启动

org.springframework.cloud.commons.ConfigDataMissingEnvironmentPostProcessor 是一个 Spring Cloud Gateway 库中的类,它是用来处理配置数据缺失的环境后置处理器。

Gateway 通常在启动时会执行各种自动配置和初始化操作,其中就涉及到对应用程序的配置数据进行加载和处理。当配置数据缺失时,Gateway 会调用 ConfigDataMissingEnvironmentPostProcessor 来处理这个问题。

具体来说,ConfigDataMissingEnvironmentPostProcessor 会检查应用程序的配置,如果发现配置数据缺失或不完整,它会尝试根据配置提供默认值或给出相应的警告或错误信息。这样可以保证 Gateway 在启动过程中对配置数据进行正确的处理。

如果你遇到了 org.springframework.cloud.commons.ConfigDataMissingEnvironmentPostProcessor 的不存在错误,通常意味着在启动 Gateway 过程中缺少了相应的依赖项或配置有问题。你可以按照我之前提到的步骤检查依赖项、配置和构建文件是否正确配置,并且确保版本兼容性,以解决这个问题。

org.springframework.cloud.commons.ConfigDataMissingEnvironmentPostProcessor 类是在 Spring Cloud Commons 2.2.0 版本中引入的。

Spring Cloud 2021.0.5 版本应该是与 Spring Cloud Commons 3.0.5 版本兼容的

常见的版本对应关系,具体的兼容性可能会受到其他因素的影响

Spring Cloud Config

2021.0.x 版本对应的 Spring Cloud Config 版本为 3.0.x。

Spring Cloud Eureka

2021.0.x 版本对应的 Spring Cloud Eureka 版本为 3.0.x。

Spring Cloud Gateway

2021.0.x 版本对应的 Spring Cloud Gateway 版本为 3.0.x。

Spring Cloud Netflix(包括 Ribbon、Hystrix、Feign、Zuul)

2021.0.x 版本不再引入 Spring Cloud Netflix 组件,强烈推荐迁移到其他替代方案,如 Spring Cloud LoadBalancer、Resilience4j 和 Spring Cloud Gateway。

Spring Cloud Sleuth

2021.0.x 版本对应的 Spring Cloud Sleuth 版本为 3.0.x。

Spring Cloud Stream

2021.0.x 版本对应的 Spring Cloud Stream 版本为 3.1.x。

Actuate中定义了一个GatewayControllerEndpoint的类,这个类提供了一些对外的接口,可以获取网关的一些信息,路由的信息,改变路由地址等

Config中定义了一些启动时去加载的类,配置路由信息和读取你的配置文件就在这里

Discovery 中定义了注册中心相关的内容,包括注册中心的路由等

Event 定义了一些事件都继承自applicationEvent

Filter 中定义了spring cloud gateway 实现了一些过滤器

Handler 中定义了很多predicate相关的factory

Route 就是我们路由相关的

Support 工具包

GatewayAutoConfiguration 很多过滤器都在这里构建

Predicate定位到Router然后在经过FilterChain的过滤处理,最后定位到下层服务

目录
相关文章
|
10月前
|
Java Go Nacos
解决Spring Boot与Nacos集成时的类加载问题: java.lang.NoClassDefFoundError: org/springframework/boot/context/prope
解决Spring Boot与Nacos集成时的类加载问题: java.lang.NoClassDefFoundError: org/springframework/boot/context/prope
184 1
|
3月前
|
Java
SpringBoot启动报错org.apache.catalina.LifecycleException
SpringBoot启动报错org.apache.catalina.LifecycleException
32 0
|
3月前
SpringCloud启动Consider defining a bean of type ‘org.springframework.web.client.RestTemplate‘ in your
SpringCloud启动Consider defining a bean of type ‘org.springframework.web.client.RestTemplate‘ in your
72 1
|
10月前
|
Java Maven Spring
【异常解决】java: 无法访问org.springframework.boot.SpringApplication的解决方案
【异常解决】java: 无法访问org.springframework.boot.SpringApplication的解决方案
2490 0
|
10月前
|
Java
解决出现的java: 无法访问org.springframework.boot.SpringApplication问题~
解决出现的java: 无法访问org.springframework.boot.SpringApplication问题~
439 0
|
3月前
|
监控 NoSQL Java
Spring Boot集成Redis启动失败【Caused by: java.lang.ClassNotFoundException: org.apache.commons.pool2.impl.G】
Spring Boot集成Redis启动失败【Caused by: java.lang.ClassNotFoundException: org.apache.commons.pool2.impl.G】
|
9月前
|
druid Java 网络安全
spring boot配置Druid整合瀚高,报dbtype not support
spring boot配置Druid整合瀚高,报dbtype not support
192 0
|
10月前
|
Java Spring
Java报错Project ‘org.springframework.boot:spring-boot-starter-parent:2.x.0.RELEASE
Java报错Project ‘org.springframework.boot:spring-boot-starter-parent:2.x.0.RELEASE
|
域名解析 Kubernetes 负载均衡
Spring Cloud系列之Commons - 2. 服务发现 - 如何通过配置文件配置服务实例?(上)
Spring Cloud系列之Commons - 2. 服务发现 - 如何通过配置文件配置服务实例?(上)
Spring Cloud系列之Commons - 2. 服务发现 - 如何通过配置文件配置服务实例?(上)
|
Java Spring
[org.springframework.cloud.openfeign.FeignClientFactoryBean] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
这个日志信息是Spring框架中的一个`BeanPostProcessor`在启动时输出的。它在扫描应用程序中定义的所有Bean并将它们注册到应用程序上下文之前执行。然后,它检查每个Bean是否适合被所有`BeanPostProcessor`处理,也就是是否可以被动态代理拦截。
1296 1