快速開始

2022-04-13 11:20 更新

Erlang 快速開始

建議先使用 java 定義接口 jar,并使用 erlanalysis 工具解析java接口至Erlang lib

導(dǎo)入依賴庫

使用 Rebar 編譯工具。

將 dubblerl 添加到rebar。配置你的項目:

{deps, [
    {dubboerl, {git, "https://github.com/apache/dubbo-erlang.git", {branch, "master"}}}
]}.

使用 erlang.mk 編譯工具

待補充

導(dǎo)入接口庫

假設(shè)導(dǎo)出的接口庫名為 dubbo_service.

  • 如果您沒有將庫上傳到git存儲庫,建議您將dubbo_服務(wù)庫復(fù)制到項目的apps目錄中。

  • 如果將其上載到git存儲庫,您可以這樣導(dǎo)入:

{deps, [
    {dubboerl, {git, "https://github.com/apache/dubbo-erlang.git", {branch, "master"}}},
    {dubbo_service,{git,"${INTERFACE_LIB_URL}",{branch,"master"}}} %% replace ${INTERFACE_LIB_URL} with your lib git repos url
]}.

消費者配置

請參考 Reference Config

在你的項目中初始化dubbolib

它需要你:

dubboerl:init().

如何調(diào)用?

同步調(diào)用

Request = #userInfoRequest{requestId = 123, username = "testname"},
{ok,RequestRef,Response,RpcContent}  = userOperator:queryUserInfo(Request,#{sync=> true}). 

如果發(fā)生錯誤,則響應(yīng){error,Reason}.

異步調(diào)用

默認為異步調(diào)用。

Request = #userInfoRequest{requestId = 123, username = "testname"},
{ok,RequestRef} = userOperator:queryUserInfo(Request).

%% you can receive the message after.
handle_cast({msg_back,RequestRef,Response,RpcContent},State).

示例

參考項目 dubboerl_demo


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號