点击动态配置web
参考网址:dubbo.io参考app
服务降级:参考网址服务降级dom
对动态配置可进行操做、其中有一个bug须要修改dubbo-admin的源码com.alibaba.dubbo.registry.common.domain.Override类在189行修改成以下代码:webapp
//zhangyq add 2016-7-8 15:22:08 if (!isEnabled()) { param.put(Constants.ENABLED_KEY, String.valueOf(isEnabled())); } //zhangyq add 2016-7-8 15:22:13
前台文件修改dubbo-admin\src\main\webapp\WEB-INF\templates\governance\screen\overrides\edit.vm第27行添加:ide
## //zhangyq add 2016-7-8 15:06:36 <input type="hidden" id="enabled" name="enabled" value="$override.enabled" />
缘由:服务在注册时参数enabled=true默认注册到注册中心没有该参数值以下:ui
override://0.0.0.0/com.foo.BarService?category=configurators&dynamic=false&application=foo&mock=force:return+null
服务在注册时参数enabled=false 注册到注册中心没有该参数值以下:code
override://0.0.0.0/com.foo.BarService?category=configurators&dynamic=false&application=foo&mock=force:return+null&enabled=false
编辑功能存在一个bug全部方法的Mock值容错和屏蔽永远选择第一个。以下图描述: 经过修改一下/dubbo-admin/src/main/webapp/WEB-INF/templates/governance/screen/overrides/edit.vm代码解决:htm
<td> <select id="mockDefaultMethodForce" name="mockDefaultMethodForce"> ##<option value='fail'>$i18n.get("fail.mock")</option><option value='force'>$i18n.get("force.mock")</option></select> <option value='fail'#if($mockDefaultMethodForce != "force") selected='selected'#end>$i18n.get("fail.mock")</option> <option value='force'#if($mockDefaultMethodForce == "force") selected='selected'#end>$i18n.get("force.mock")</option> </select> </td>
在对动态配置进行编辑、删除、启用等操做时会再次在注册中心注册服务。修改以上源码后解决问题。图片
在应用和实践中多发现问题并解决之、待补充。get