变更回调

如果在某些场景中,您的程序中需要监听开关值的变更来做变更回调,功能开关客户端中提供了全局变更回调和单个开关变更回调两种方法。

全局变更回调

使用 Listener(完整包名:com.taobao.csp.switchcenter.core.Listener)接口即可监听任意开关的变化。

方式示例
SDK方式public class TestListener implements com.taobao.csp.switchcenter.core.Listener { @Override public void valueChange(String appName, String nameSpace, String name, String value) { //当Field值变更成功时,会调此方法。不要依赖value字段转型, 可直接依赖对应字段值。 } } //注册Listener SwitchManager.addListenner (new TestListener());
Spring Boot starter方式@SwitchListenerpublic class TestListener implements com.taobao.csp.switchcenter.core.Listener { @Override public void valueChange(String appName, String nameSpace, String name, String value) { //当Field值变更成功时,会调此方法。不要依赖value字段转型, 可直接依赖对应字段值。 }}

单个开关回调

实现 com.taobao.csp.switchcenter.core.SwitchCallback 接口。

public class TestCallback implements SwitchCallback {

    @Override
    public void excute(String nameSpace, String name, String value) {
        // TODO Auto-generated method stub

    }

}

AppSwitch 注解上填写 callback 字段。

@AppSwitch(des = "测试开关", level = Level.p1, callback = TestCallback.class)
public static Map<String, String> test_switch = new HashMap<String, String>();


class TestCallback implements SwitchCallback {
    public void excute(String nameSpace, String name, String value){

    }
}