package com.taobao.tddl.config; import java.text.MessageFormat; /** * 订阅持久化数据的辅助类 * * @author linxuan */ public final class ConfigServerHelper { public static final String DATA_ID_PREFIX = "com.taobao.tddl.v1_"; public static final String DATA_ID_TDDL_SHARD_RULE = DATA_ID_PREFIX + "{0}_shardrule"; public static final String DATA_ID_DB_GROUP_KEYS = DATA_ID_PREFIX + "{0}_dbgroups"; public static final String DATA_ID_TDDL_CLIENT_CONFIG = DATA_ID_PREFIX + "{0}_tddlconfig"; public enum TddlLConfigKey { statKeyRecordType, statKeyLeftCutLen, statKeyRightCutLen, statKeyExcludes, StatRealDbInWrapperDs, // StatChannelMask, statDumpInterval/* 秒 */, statCacheSize, statAtomSql, statKeyIncludes, // SmoothValveProperties, CountPunisherProperties, // // add by junyu sqlExecTimeOutMilli/* sql超时时间 */, atomSqlSamplingRate/* atom层sql统计的采样率 */; } public static String getTddlConfigDataId(String appName) { return new MessageFormat(DATA_ID_TDDL_CLIENT_CONFIG).format(new Object[] { appName }); } public static String getDBGroupsConfig(String appName) { if (appName == null || appName.length() == 0) { throw new IllegalStateException("没有指定应用名称appName"); } String dataId = new MessageFormat(DATA_ID_DB_GROUP_KEYS).format(new Object[] { appName }); return dataId; } public static String getShardRuleConfig(String appName) { if (appName == null || appName.length() == 0) { throw new IllegalStateException("没有指定应用名称appName"); } String dataId = new MessageFormat(DATA_ID_TDDL_SHARD_RULE).format(new Object[] { appName }); return dataId; } }