我想实现以下目标:
因此,当前webapp的类路径包含对配置服务器和客户端的依赖关系:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
在开发模式下,并在引导程序中具有以下属性。yml,没问题(嵌入式配置服务器已配置并启动)
spring:
application:
name: app1
profiles:
active: dev
cloud:
config:
uri: ${SPRING_CONFIG_URI:http://localhost:8888}
---
spring:
profiles: dev
cloud:
config:
server:
bootstrap: true
git:
uri: https://github.com/nocquidant/my-config-repo.git
basedir: target/config
当不在'dev'模式(例如spring.profiles.active=prod)时,当前的webapp不会启动:它无法自动装配我的属性(我猜嵌入式服务器是以错误的配置启动的)
如果我在POM中对spring cloud config server依赖项进行注释,那么它就可以工作了。
我认为我可以通过以下方式实现我想要的目标,但没有(实际上使用EnableConfigServer与否似乎并没有改变任何事情):
@Configuration
@Profile("dev")
@EnableConfigServer
html" target="_blank">public static class EmbeddedConfigServer { }
我该怎么做(不使用maven profile)?有没有一种简单的方法来禁用spring云配置服务器?有没有更好的方法来实现我的目标?
感谢您的帮助。
P、 使用的美国版本:
<parent>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-parent</artifactId>
<version>1.0.3.BUILD-SNAPSHOT</version>
</parent>
//尼克
//---编辑#1
请查看github上的一个简单项目:https://github.com/nocquidant/exchange/tree/master/poc-spring-cloud/
它包含两个简单的模块:配置服务器和客户端应用程序。
首先,如果您从client-app模块启动Client类,一切正常(嵌入式模式开启=
然后,启动config server(ConfigServer类)。然后更换“Spring”。配置文件。客户端应用程序中的“prod”(或其他)处于活动状态,并重新启动它:属性注入不再工作(webapp拒绝启动)。
Caused by: org.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 1 errors
Field error in object 'server' on field 'port': rejected value [${taap.bak.config.port}];
因此,它无法连接到配置服务器模块。如果您在客户端应用程序模块中注释maven dependencies:spring cloud config server,它会再次工作。
希望现在更清楚了。谢谢,
根据Spring cloud config server中的此类:配置服务器显式禁用配置客户端,除非您从System Property(-D
)或通过SpringApplication ationBuilder
设置spring.cloud.config.enabled=true
。这是当前使其工作的唯一方法。欢迎您提交增强请求,解释您的用例。
我正在使用Spring Cloud Config服务器,能够检测来自git存储库的更改并将其传递给配置客户机。 有两种方法,我已经实现了: null 所以两者都工作得很好,那么使用Spring Cloud Bus有什么好处吗?或者在生产环境中,不使用Spring Cloud Bus会有什么问题吗?因为将需要额外的工作来设置RabbitMQ集群(HA)作为生产中的Spring云总线。 谢谢,大卫
我试图在应用程序启动时从配置服务器读取log4j2配置。 bootstrap.yml 应用程序似乎在启动期间得到了正确的配置,因为我看到了适当的日志级别。然而,自动配置似乎不起作用。当我更改日志记录器的日志级别时,它似乎没有在monitorInterval通过后从配置服务器读取更新的配置。我已将monitorInterval设置为10秒。根据文件,最小间隔应为5秒。如果我指向本地驱动器上的文件,而
我正在尝试创建SpringCloudConfigServer,以便使用SSHURI连接到git存储库(bitbucket)。我正在关注Spring云配置 我使用ssh-keygen实用工具生成了密钥对,并粘贴了。发布文件内容在我的bitbucket帐户的ssh部分,但当我运行作为spring启动应用程序的服务器时,我得到无效的privateKey异常。 我也使用了这个堆栈溢出帖子中提供的建议,但是
我正在使用Spring Cloud配置服务器,我需要为每个阶段的产品测试和开发创建一个配置文件,我已经为默认配置文件创建了4个yml文件application.yml,为每个配置文件创建了应用程序-{配置文件},所以我的问题是如何通过环境变量加载特定的配置,并在每个配置文件配置和端口上运行配置服务器,我已经创建了一个bootstrap.yml但我不能解决这个问题。如果有人能指导我完成这些步骤来满足
我在我的Spring应用程序中集成了Spring Cloud。它工作正常。但是我有3个属性文件:application.properties application-dev.properties 和applictaion-int.properties 为了使用application-dev.properties的本地内容并仅为applictaion-int.properties激活,我可以禁用sp
我的Spring云配置服务器在尝试使用http://localhost:8080/application/default访问属性文件内容时抛出以下错误 我的申请。配置服务器中的属性如下所示 <代码>Spring。云配置。服务器吉特。uri=/Users/joe/MyProgs/Java/spring ws/config,我甚至尝试了这个spring。云配置。服务器吉特。uri=${HOME}/My