點擊動態配置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