在config-client-demo中的pom.xml添加依赖
<!--spring boot Actuator,感应服务端变化--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <!--spring cloud bus消息队列--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bus-amqp</artifactId> </dependency>在testcontroller中开启更新注解
@RestController //开启更新功能 @RefreshScope public class TestController { //读取配置文件中的email @Value("${email}") private String email; /** * 返回配置文件中的值 * */ //访问value @GetMapping("/value") @ResponseBody public String returnValue(){ return email; } }在application.yml中添加配置
###需要启动rabbitmq ###rabbitmq类似于activemq,host是安装了mq的主机地址,端口号,账号,密码 rabbitmq: host: port: username: password: ###bus刷新的权限 management: endpoints: web: exposure: include: bus-refresh原理:把配置中心也注册到注册中心,这样,服务端就可以调用服务的方式来访问配置中心的配置了
添加config-server的pom.xml依赖
<!--改用高可用配置中心--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency>修改配置文件application.yml
###服务注册到eureka地址 eureka: client: service-url: defaultZone: http://localhost:8888/eureka在启动类里添加
@EnableEurekaClient在config-client-demo的pom.xml中添加
<!--改用高可用配置中心--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency>在application.yml中
###服务注册到eureka地址 eureka: client: service-url: defaultZone: http://localhost:8888/eureka cloud: config: ###config server的uri ###uri: http://localhost:9100/ ###指定环境 profile: dev ###指定分支 label: master discovery: enabled: true ###使用服务名就是使用config-server-demo注册到eureka的名字 service-id: config-server