
?在yx-cloud-config?程的pom.xml?件中引?以下依賴坐標(需要將??注冊到Eureka)。
<dependencies>
<!-- Eureka Client客戶端依賴引入 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency>
<!-- Config配置中心服務端 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
</dependencies>
package com.yx.config;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.config.server.EnableConfigServer;
@EnableConfigServer // 開啟配置服務器功能
@EnableDiscoveryClient
@SpringBootApplication
public class ConfigApplication {
public static void main(String[] args) {
SpringApplication.run(ConfigApplication.class, args);
}
}
server:
port: 9400
# 注冊到Eureka服務中心
eureka:
client:
service-url:
defaultZone: http://YXCloudEurekaServerC:9200/eureka,http://YXCloudEurekaServerD:9201/eureka
instance:
prefer-ip-address: true
instance-id: ${spring.cloud.client.ip-address}:${spring.application.name}:${server.port}:@project.version@
spring:
application:
name: yx-service-config
cloud:
config:
server:
git: #用于配置git倉庫信息:uri,
uri: https://gitee.com/zhengchunbo/yx-config.git
username: **
password: *****
search-paths: #表示倉庫的名稱
- yx-config
label: master # 讀取分?
?5.啟動yx-cloud-config?程,訪問http://127.0.0.1:9400/master/application-dev.yml地址進?測試
<dependency><groupId> org.springframework.cloud </groupId><artifactId> spring-cloud-config-client </artifactId></dependency>
在page消費者微服務的application.yml?件名稱修改為bootstrap.yml。并在為bootstrap.yml?件中對config 進?配置。
spring:
# ?式1:暴露指定refresh端?
management:
endpoints:
web:
exposure:
include: refresh
application:
name: yx-service-page
cloud:
config:
# config客戶端配置和ConfigServer通信,并告知ConfigServer希望獲取的配置信息在哪個?件中
name: application #表示獲取ConfigServer 中的配置文件名稱(application-dev)
profile: dev # 后綴名稱
label: master # 分?名稱
uri: http://localhost:9400 # ConfigServer配置中?地址
package com.yx.page.controller;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RequestMapping("config")
@RestController
public class ConfigController {
@Value("${mysql.user}")
private String mysqlUser;
@Value("${person.name}")
private String personName;
@RequestMapping("remote")
public String getRemoteConfig() {
return "mysqlUser=" + mysqlUser + ", personName=" + personName;
}
}

?在消費者的collection類上使?到配置信息的類上添加@RefreshScope注解


?Spring Cloud Config+Spring Cloud Bus實現(xiàn)?動刷新
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>
2..在Config Server服務端(yx-cloud-config模塊)和客戶端(消費者)(yx-service-page模塊)的yml配置?件中添加 rabbitmq服務的配置信息
spring:
rabbitmq:
host: 192.168.48.67
username: admin
password: 123456
3.在Config Server微服務(yx-cloud-config模塊)和消費者page的application.yml?件中暴露端?
?文章來源:http://www.zghlxwxcb.cn/news/detail-556549.html
?4.重啟各個服務,更改配置之后,向配置中?服務端發(fā)送POST請求,各個客戶端配置即可?動刷新http://127.0.0. 1:9400/actuator/bus-refresh。 文章來源地址http://www.zghlxwxcb.cn/news/detail-556549.html
到了這里,關于Spring Cloud之Config分布式配置應?的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!