如果在某些場景中,您的程序中需要監聽開關值的變更來做變更回調,功能開關客戶端中提供了全局變更回調和單個開關變更回調兩種方法。
全局變更回調
使用 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){
}
}
文檔內容是否對您有幫助?