问题标签 [spring-cloud-config-client]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring-boot - 如何在 spring cloud config 客户端应用程序中使用 application.propeties?
如何application.yml
在 spring cloud config 客户端应用程序中使用?
客户端应用程序配置了所有必需的属性,但它仍然没有连接到config-server
.
库implementation 'org.springframework.cloud:spring-cloud-starter-config'
spring-security-oauth2 - 有人有 Spring Cloud Config oauth2 客户端配置吗?
找不到当前 Spring Cloud 的任何工作或有效文档。这里有一个项目https://github.com/marcosbarbero/spring-cloud-config-client-oauth2,但它已经过时了。最近关于 SO 的问题没有得到解答。请帮忙。
spring-boot - Spring Cloud Config:引导上下文未加载特定于配置文件的属性文件以进行绑定
设置
- 春季启动 2.6.0
- Spring Cloud 配置 3.1 RC1
- 阿帕奇 Maven 3.8.x
- 开放JDK 11
概述
我有一个使用以下模块设置的多模块 Apache Maven 项目:
- bootstrap:包含一个
PropertySourceLocator
forBootstrapConfiguration
,在spring.factories
文件中定义。 - starter:依赖于引导程序,它是一个(基于 servlet 的)Web 应用程序
- 参考:使用 Maven Cargo 插件部署启动应用程序,部署到 Apache Tomcat 9.0.55
运行
- starter 模块声明了一个配置类,用
@PropertySource("wa.properties")
. 这个wa.properties
在启动模块的类路径上有一个设置:cas.authn.syncope.name=Starter
- 启动模块有一个在构建 spring 应用程序时
ServletInitializer
将spring.config.name
属性设置为“wa”。 - 参考模块在类路径中只有一个
wa-embedded.properties
文件,其设置如下:cas.authn.syncope.name=Embedded
- 参考模块从弹簧激活的配置文件开始:
embedded,all
注意:cas.authn.syncope.name
绑定到 Java POJO,CasConfigurationProperties
,用 注释@ConfigurationProperties("cas")
。
观察
应用程序中存在以下 bean,为本文简化:
- 如果我查看 的内容
cas.getAuthn().getSyncope().getName())
,它会显示:“Starter” - 如果我看
ctx.getEnvironment().getProperty("cas.authn.syncope.name")
,它显示“嵌入”。
换句话说,在引导过程中使用的属性绑定与应用程序上下文的实际环境不匹配。
分析
似乎在创建引导应用程序上下文时,
wa-embedded.properties
不会读取特定于配置文件的属性。事实上,用于绑定的唯一属性源是wa.properties
“localProperties”的一部分,我相信它来自@PropertySource("wa.properties")
. 没有其他内容被读取或发现。然后,属性绑定发生绑定
CasConfigurationProperties
并cas.authn.syncope.name
从@PropertySource("wa.properties")
. 此属性的值设置为Starter
。然后,初始化应用程序 servlet 上下文,并使用配置文件对其环境进行后处理,并创建适当的侦听器和 Spring bean。特别是,这个bean:
...显示这ctx
是具有通过所有配置文件进行后处理并显示ctx.getEnvironment().getProperty("cas.authn.syncope.name")
为“嵌入式”的环境的实际应用程序上下文。
但是,CasConfigurationProperties
仅使用 Bootstrap 上下文进行处理,其等效属性显示“Starter”。
...这意味着 bean 将使用CasConfigurationProperties
.
研究
此设置使用 Spring Boot 2.5.6 和 Spring Cloud 3.0.5 可以正常工作。我认为 Spring Boot 中的任何更改都不会影响这一点,但我确实看到 Cloud 3.0 和 3.1 之间存在许多差异。
我不确定我是否可以创建一个复制器来充分展示这一点。我会尽力。同时,您能否对此进行评估,看看这是否可能被视为错误或某种错误配置?
java - Springboot Config 服务器客户端返回状态码:-1
我正在尝试使用本机文件位置启动一个简单的配置服务器。
服务器的配置如下所示
但是,当客户端服务器启动时使用以下配置
有人有什么想法吗?
我调试到resttemplate并且请求形成正常,但是返回的httpStatusCd是-1。
谢谢
netflix-eureka - 获取请求权限被拒绝:没有关于使用 Spring-Cloud-Config 进行服务发现的更多信息
我正在尝试通过 eureka 注册的 serviceId 连接到 spring 云配置服务器。我的 Spring 云配置服务器已启动并正在运行,我的客户端可以通过本地主机连接到它。但我想通过
我的配置服务已注册
我的 application.yml 是
服务 id 注册了正确的 IP 地址http://192.168.0.19:8086/application/local但给了我一个 Permission denied。
试
spring-cloud-config-server - Spring Cloud Config Server 在实际应用程序中使用来自服务器的属性
我使用嵌入在应用程序中的 Spring 云配置服务器。我可以填充该应用程序的占位符吗?
如果我的配置服务器获得一个属性${some.property} from git, vault, native;
,我可以${some.property}
在服务器的实际应用程序中实际使用它吗?
java - context.config.ConfigDataLoader:定位环境:name=myservice,profiles=[myprofile],label=null,version=null,state=null
请关于带有 Spring Cloud Config 的 Java SpringBoot / Webflux 的小问题。
该应用程序是Java 11,带有Spring Cloud Jubilee的Spring Boot Webflux 2.6.x,它在配置(Spring Cloud Config Client)方面是一个客户端应用程序。
在每次启动时,虽然我确实从 Spring Cloud Config Server 获得了良好的属性,但我总是 100% 的时间得到这行日志:
我想强调一下,label=null, version=null, state=null
我一味地尝试设置一些属性,但我很困惑为什么标签、版本和状态都为空。
这是一个它们为空的错误,它会有什么影响吗?
请问设置它们的正确方法是什么?
谢谢