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

全局变更回调

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

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());
@SwitchListener
public 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){

    }
}