有时候需要某些代码执行或者不执行或者特殊情况下执行,就可以用开关来控制;开关值可以放在properties文件中,也可放在表中,动态获取开关值;下面是放于config表和配置文件同时控制
//开关方法
private boolean isSwitchOpen(String switchName) {
Map<String,Object> params = new HashMap<String,Object>();
params.put("name", switchName);
Config config = configService.loadConfig(params);
if(config !=null && "1".equals(config .getValue())){
log.info(switchName + "功能没有开启");
return false;
}else{
return true;
}
}
调用:
if(isSwitchOpen("sync_temp_switch")) {
log.info("开始同步表");
log.info("完成同步表");
}