我正在尝试让Spring Cloud Gateway应用程序自动刷新它的路由配置yml。我已经能够设置一个云配置服务器来托管路由YAML,并使Spring云网关能够通过@schedule
ContextRefresher.refresh()
的用法自动刷新其配置。但是,这需要两个正在运行的应用程序,我们希望尽量减少支持这一需求所需的额外服务器的数量。
Spring Cloud Config Server文档建议任何引导应用程序都可以通过@enableConfigServer
注释嵌入配置服务器:https://Cloud.Spring.io/spring-cloud-static/spring-cloud.html#_spring_cloud_config_server
但是,当尝试在网关的build.gradle中引入spring-cloud-config-server
模块时,我在启动时遇到以下错误:
org.springframework.beans.factory.NoSuchBeanDefinitionException:没有“org.springframework.http.codec.ServerCodecConfigureer”类型的合格bean可用:应至少有一个合格的自动候选bean。依赖项注释:{}
从这里的讨论(https://github.com/spring-cloud/spring-cloud-gateway/issues/319)中可以看出,出现上述问题的原因似乎是spring-boot-starter-web与/gateway不兼容;Gateway是一个Netty应用程序,而spring-boot-starter-web使用Tomcat/Servlet。尝试从cloud-config-server模块中排除spring-boot-starter-web
时,应用程序再次失败,原因是:
OnfigreActiveWebServerApplicationContext:上下文初始化期间遇到异常-取消刷新尝试:org.SpringFramework.Beans.Factory.BeanDefinitionStoreException:无法处理配置类[org.SpringFramework.Cloud.Config.Server.Config.ConfigServerAutoConfiguration]的导入候选项;嵌套的异常是java.io.FileNotFoundException:无法打开类路径资源[org/SpringFramework/Web/Servlet/Config/Annotation/WebMVCConfigurerAdapter.class],因为它不存在
Spring Cloud Gateway应用程序是否不能作为CloudConfig服务器启用?还是我错过了什么。FWIW我的sprincCloudVersion是finchley.sr1
他们不能。配置服务器基于spring MVC(servlets),网关基于spring webflux和Netty。它们不兼容,不能一起运行。
我的Spring Boot应用程序与Spring云配置服务器连接以获取外部化属性,但突然没有与配置服务器连接/对话。我做了很多改变,不确定哪一个会导致这个问题。 > 我验证了我的Spring Boot应用程序中的bootstrap.yml文件,以下配置存在,并且Spring云配置服务器正在该位置运行 spring:application:name:abc cloud:config:uri:http
我正在使用Spring Cloud Config服务器,能够检测来自git存储库的更改并将其传递给配置客户机。 有两种方法,我已经实现了: null 所以两者都工作得很好,那么使用Spring Cloud Bus有什么好处吗?或者在生产环境中,不使用Spring Cloud Bus会有什么问题吗?因为将需要额外的工作来设置RabbitMQ集群(HA)作为生产中的Spring云总线。 谢谢,大卫
我正在关注应用程序中的条目。 我有下面的spring云服务器应用程序代码。 我收到以下错误。 启动ApplicationContext时出错。要显示条件报告,请在启用“调试”的情况下重新运行应用程序。2021 02月24日01:39:52.356错误20804---[restartedMain]o.s.b.d.LoggingFailureAnalysisReporter: 应用程序无法启动 描述:
我一直在试图找到一个与eureka服务器集成的spring cloud gateway的运行示例,以及一些Hystrix示例,但到目前为止我还没有找到。有什么地方可以找到它吗?我真的很想看到spring cloud gateway投入使用,取代我目前的Zuul API服务。 谢谢!
我试图迁移我们稳定的应用服务器,以从Spring Cloud配置服务器获取它们的配置。每个应用在配置服务器上都有一个文件,我们可以使用配置文件(在名为的文件中,或者使用多配置文件YAML文档)为每个环境进行不同的配置应用程序,我们甚至可以在另一个配置文件中包含一个配置文件,使用来提供某种继承-到目前为止,一切都很好。 但是,我们只能在彼此中包含来自同一应用程序的配置文件,并且我们从同一配置服务器配
Java 14 版本: 版本: 现在我想将安全性集成到我的网关和所有下游微服务中。最终,我决定使用Firebase作为身份提供商(IDP)。我的Angular应用程序将从Firebase获得JWT令牌,并在每个请求中发送到云网关。因此,网关将开始只充当资源服务器,仅此而已。 下面是我如何尝试的。设置和同时充当资源服务器。在这里很好地解释了Spring安全文档。 下面是我的配置 和applicati