用于从 ACM 获取配置内容。

描述

使用以下接口从 ACM 获取配置内容。

public static String getConfig(String dataId, String group, long timeoutMs) throws ConfigException

请求参数

参数 参数类型 描述
dataId String 配置 ID,采用类似 package.class(如 com.taobao.tc.refund.log.level)的命名规则保证全局唯一性。建议根据配置的业务含义来定义 class 部分。全部字符均为小写。只允许英文字符和 4 种特殊字符(“.”、“:”、“-”、“_”),不超过 256 字节。
group String 配置分组,建议填写产品名:模块名(如 ACM:Test)来保证唯一性。只允许英文字符和 4 种特殊字符(“.”、“:”、“-”、“_”),不超过 128 字节。
timeout String 读取配置超时时间,单位为 ms,推荐值为 3000。

返回值

参数类型 描述
String 配置值

请求示例

说明 请将代码中的 $regionId$endpoint$namespace$accessKey$secretKey 分别替换为 ACM 控制台上 命名空间详情对话框内的 地域 IDEnd Point命名空间 IDAccessKeySecretKey
try {
    // 初始化配置服务
    ConfigService.init("$endpoint", "$namespace", "$accessKey", "$secretKey");
    // 主动获取配置
    String content = ConfigService.getConfig("$dataId", "$group", 3000);
    System.out.println(content);
} catch (ConfigException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

异常说明

读取配置超时或网络异常,抛出 ConfigException 异常。

限流机制

ACM 对访问频率采取限制,主要规则如下:

  • 每个 IP 长连接数最多为 30 个。
  • 每个 IP 每秒修改同一个配置不能超过 5 次。
  • 每个 IP 每秒获取同一个配置不能超过 10 次。

更多信息