-
Notifications
You must be signed in to change notification settings - Fork 61
参数配置 动态参数
ShenJW edited this page Feb 29, 2016
·
75 revisions
- 什么是动态参数
服务发布后可以通过@See[Kepler Admin]实时调整的参数集合,包括:- @See[常用参数]及其他特性中声明支持动态参数的框架配置
- @Config声明的业务服务配置
- @Config
- @See[示例下载], 可用于对照以下流程
- 在ClassPath中添加@See[kepler.dynamic]动态参数配置文件:
name=kepler
- 在服务中添加@Config标签配置:
@Config(value = "name", init = true) public void name(String name) { this.name = name; }
@Config.value表示动态参数配置文件的Key,@Config.init表示是否在Spring初始化期间进行赋值
- 动态参数配置文件备份
- @See[Kepler Admin]动态参数回调完毕将对磁盘配置同步,并对历史配置备份
- 通过添加应用启动参数可以关闭历史配置备份,默认true
java -jar -Dbackup=false [启动包].jar
- 动态参数配置文件加载(@See[kepler.dynamic]):
- 默认从ClassPath加载
- 通过添加应用启动参数可以修改加载文件
java -jar -Ddynamic=[(file://|url://)] [启动包].jar
@See[加载路径的支持格式]
- 动态参数回调同一时刻仅允许一个线程(基于ZooKeeper Watcher)
- 通过添加@Async使同步回调异步化,为某些场景(如触发器)提供可能:
@Async @Config(value = "trigger") public void dosomthing(String name) { // todo }
动态参数回调完毕后会向
@See[Kepler Admin]同步最新配置。添加@Async将无法保证配置的强一致性。
- 动态参数变动通知(@See[ConfigAware])
不同于@Config针对特定配置的回调,ConfigAware用于配置变更后的通知public void changed(Map<String, String> current, Map<String, String> newconfig);