在使用dubbo開發項目時,一般會遇到以下兩個問題
1、dubbo服務方啟動時需要加載的東西太多,如果跑單元測試把服務開啟會浪費不少時間,而且單元測試沒法保持服務一直開啟的狀態。每次測試完,下次測試的時候又要重啟一下
2、不希望本地dubbo服務被別人訪問
一、配置
1、服務方
dubbo從2.0.8版本開始增加了協議注冊開關(register="false")
例如:<dubbo:registry address="xxxxxx" register="false"/>
2、消費方
通過設置關聯服務的URL地址,可以實現直連本地dubbo服務
例如:
<dubbo:reference id="xxxxService" interface="xxxxx.xxxxService" protocol="dubbo" url="dubbo://127.0.0.1:28050"/>
注意:消息方與服務器的dubbo服務地址要一致,例如以下三個配置要一致
<dubbo:application name="xxxxxx"/>
<dubbo:registry address="xxxx"/>
<dubbo:protocol name="dubbo" port="28050"/>
二、調試
服務方使用jetty啟動,暴露dubbo服務,並保持開啟狀態;
消費方可以只跑一個單元測試,遠程調用本地服務方暴露的dubbo服務,由於消費方幾乎什么都不用加載,只觸發遠程服務,所以它可以啟動得很快,大大提高調試效率