繼續更新
使用註解來構建dubbo服務的時候。在說明文檔中寫到可以不寫 package 即默認在所有的包中搜索註解。經過測試驗證(dubbo 2.5.3)是不正確的。
即這幾種寫法都是不行的:
<dubbo:annotation />
<dubbo:annotation package="" />
<dubbo:annotation package="*" />
如果需要全局搜索,要在 package 寫入最頂層的 包名稱 即可 。
例如 服務所在包爲: dpjar.dubbo.service.impl
那麼以下兩個寫法都是可以的。
<dubbo:annotation package="dpjar.dubbo.service.impl" />
<dubbo:annotation package="dpjar" />
同理 客戶端也是一樣。
-----------------------------------------------------
目前註解還有一些問題。
如果使用 spring 配置文件 xml 的方式進行服務注入,任何形式都沒有問題;(參見前面的例子)
服務端爲普通jar工程,使用註解也是沒有問題的;
但是服務端如果是web工程,使用註解就會出現,調用的時候,服務爲null的情況。
具體原因,我還沒有查到。如果有知道的同學,請留言告訴我。不勝感激
------------------------
問題已經解決:
加上如下配置
<dubbo:consumer check = "false"/>
原因:
使用java工程做服務端的時候,都是先把java服務啓動起來之後,再啓動服務器去消費。此時,注入服務肯定不會出錯;
使用spring 配置文件的時候,是在服務配置的時候,標識了 check=“false” (具體參見實例代碼),所以也不會出錯;
使用註解的時候,就需要在一個統一配置裏,將啓動檢查項的設置給標識進去。
收工。