天天看點

花擦節 dubbo異步調用變同步,解決異步調用傳回值null的問題

花擦節 閃電購拼團狂歡節微信中打開:http://www.52shangou.com/buyer/pintuan/index.html

dubbo異步調用變同步

當consumer或provider配置async屬性時,會有傳遞性,後面調用都會變異步,如果鍊路上有一個地方代碼是同步方式,那麼這個地方會傳回null

要麼将所有鍊路上的代碼改異步方式(Future),要麼把異步改同步

前一種方式工作量可能較多,因為鍊路上的dubbo調用可能比較多,這裡簡單說下後一種方式

 在調用dubbo方法前,執行RpcContext.getContext().setAttachment(Constants.ASYNC_KEY, "false");

                                而且確定xml配置中相關地方不要設定async為true

有興趣可以看dubbo源碼

        RPcUtils.isAsync

author: https://github.com/itchanges