用于监听 ACM 配置的变更,以即时获取最新的配置内容。

描述

使用以下接口监听 ACM 配置的变更。

public static void addListener(String dataId, String group, ConfigChangeListenerAdapter listener)

请求参数

参数 参数类型 描述
dataId String 配置 ID,采用类似 package.class(如 com.taobao.tc.refund.log.level)的命名规则保证全局唯一性。建议根据配置的业务含义来定义 class 部分。全部字符均为小写。只允许英文字符和 4 种特殊字符(“.”、“:”、“-”、“_”),不超过 256 字节。
group String 配置分组,建议填写产品名:模块名(如 ACM:Test)来保证唯一性。只允许英文字符和 4 种特殊字符(“.”、“:”、“-”、“_”),不超过 128 字节。
listener ConfigChangeListener 监听器,配置变更进入监听器的回调函数。

返回值

参数类型 描述
String 配置值,初始化或者配置变更时通过回调函数返回该值。

请求示例

说明 请将代码中的 $regionId$endpoint$namespace$accessKey$secretKey 分别替换为 ACM 控制台上 命名空间详情对话框内的 地域 IDEnd Point命名空间 IDAccessKeySecretKey
// 初始化配置服务
ConfigService.init("$endpoint", "$namespace", "$accessKey", "$secretKey");
// 初始化时给配置添加监听,配置变更会回调通知。
ConfigService.addListener("$dataId", "$group", new ConfigChangeListener() {
    public void receiveConfigInfo(String configInfo) {
        // 当配置更新后,通过该回调函数将最新值返回给用户
        System.out.println(configInfo);
    }
});
// 以下代码用于测试,作用是让主线程不退出。订阅配置是守护线程,如果主线程退出守护线程就会退出。
while (true) {
    try {
        Thread.sleep(1000);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
}

更多信息