Package top.wcpe.beacon.agent.api
Interface ReportingConfigChangeListener
- All Superinterfaces:
ConfigChangeListener
可上报重载结果的配置变更回调。
相对既有的 ConfigChangeListener,本接口让业务插件把「本次重载是否成功、为什么失败、
实际加载了什么」返回给 agent,从而让交付控制面拿到真实生效结果,而不是只看到「通知已派发」。
为什么要用子接口而不是改老接口:老插件只实现 ConfigChangeListener.onConfigChanged(java.util.Set<java.lang.String>, java.lang.String),
改签名会破坏其二进制兼容;本接口继承老接口并提供默认实现,故:
- 老插件:零改动,继续用
onChange(ConfigChangeListener)注册。 - 新插件:实现
onConfigChangedReporting(java.util.Set<java.lang.String>, java.lang.String)即可;注册路径完全不变, agent 侧识别为上报式监听器后即取用返回结果。
纪律:
- 回调在 agent 异步线程触发,重活请自行切到业务线程;但**不要阻塞超过 配置重载超时**,否则本次重载按失败计。
- 失败请**显式返回**
ConfigReloadResult.failed(...)并给可读原因; 抛异常虽由 agent 兜住并计为失败,但会丢失原因信息。 - 已成功应用新配置时,建议用
withAppliedMd5/withAppliedVersion回报实际加载内容,供控制面核对「回执成功但版本不符」。
-
Method Summary
Modifier and TypeMethodDescriptiondefault voidonConfigChanged(Set<String> changedDataIds, String newMd5) 默认实现委托给上报方法并丢弃结果,保证老式「只发通知」调用语义仍可工作。onConfigChangedReporting(Set<String> changedDataIds, String newMd5) 配置已变更,请把新配置应用到运行态并返回结果。
-
Method Details
-
onConfigChangedReporting
配置已变更,请把新配置应用到运行态并返回结果。- Parameters:
changedDataIds- 本次变更的 dataId 集合newMd5- 变更后整体 md5(小写 hex)- Returns:
- 重载结果;返回 null 由 agent 按失败处置(缺结果不得被当作成功)
-
onConfigChanged
默认实现委托给上报方法并丢弃结果,保证老式「只发通知」调用语义仍可工作。- Specified by:
onConfigChangedin interfaceConfigChangeListener- Parameters:
changedDataIds- 本次变更的 dataId 集合newMd5- 变更后整体 md5(小写 hex)
-