配置管理

最近更新时间:2024-07-04 15:40:51

我的收藏

操作场景

本文介绍在本地开发 Java 应用,通过 Spring Cloud Tencent 的方式接入 TSF 独占注册配置中心,使用配置管理功能。

前提条件

1. 在开始开发前,请确保您已经参见 下载 Maven 下载安装了 Java 和 Maven。
2. 已创建 TSF 独占注册配置中心实例(TSE 北极星),操作步骤详细可参见 引擎管理

操作步骤

步骤1:引入服务注册与发现的依赖

1. 引入 spring cloud tencent 依赖

修改应用根目录下的 pom.xml,添加dependencyManagement
<dependencyManagement>
<dependencies>
<!-- Spring Cloud Tencent TSF Dependencies -->
<dependency>
<groupId>com.tencent.cloud</groupId>
<artifactId>spring-cloud-tencent-tsf-dependencies</artifactId>
<version>${revision}</version>
<type>pom</type>
<scope>import</scope>
</dependency>

<!-- Spring Cloud Dependencies -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring.cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
注意:
springcloud tencent 和 springcloud 版本如下:
<revision>1.14.0-2022.0.5-SNAPSHOT</revision>
<spring.cloud.version>2022.0.5</spring.cloud.version>

2. 引入 spring cloud tencent tsf starter

<dependency>
<groupId>com.tencent.cloud</groupId>
<artifactId>spring-cloud-starter-tencent-tsf-all</artifactId>
</dependency>

步骤2:在代码中使用配置

用户可通过两种方式更新代码中的配置信息:使用配置类@ConfigurationProperties@Value注解。
@Value 比较适用于配置比较少的场景
@ConfigurationProperties 则更适用于有较多配置的情况
1. 通过 @Value注入
@Value("${timeout:1000}")
private int timeout;
2. 通过 @ConfigurationProperties注入
@Component
@ConfigurationProperties(prefix = "teacher")
@RefreshScope //如果使用反射模式,则不需要加这个注解
public class Person {

private String name;

private int age;

String getName() {
return name;
}

void setName(String name) {
this.name = name;
}

int getAge() {
return age;
}

void setAge(int age) {
this.age = age;
}

@Override
public String toString() {
return "User{" + "name='" + name + '\\'' + ", age=" + age + '}';
}

}.

步骤3:TSF 控制台下发动态配置

用户可以通过 TSF 控制台来下发动态配置。

前提条件

已经在 TSF 平台上部署了provider-democonsumer-demo应用。
部署 provider-demo 的部署组的日志配置项的日志路径中包含了/tsf-demo-logs/provider-demo/root.log,以确保打印的日志被采集后,可以通过控制台查看应用的日志。参见 日志配置项

操作步骤

关于如何通过控制台创建及下发更新的配置,请参见 应用配置
如果希望修改ProviderNameConfig类中的providerName的值,创建配置时,配置内容填写:
provider:
config:
name: testname123
将配置发布到已部署provider-demo的部署组上,检查打印的日志中是否 name 的值已更新。如果已更新,说明更新的配置生效。
provider-demo -- provider config name: testname123