Quick Start
Erlang quick start
We recommend using java to define the Dubbo interface. And use erlanalysis tool parse java interface transfer to erlang lib.
Import Dependency Lib
Using Rebar Build Tool
Add dubblerl to rebar.config with your project
{deps, [
{dubboerl, {git, "https://github.com/apache/dubbo-erlang.git", {branch, "master"}}}
]}.
User erlang.mk Build Tool
Waiting for improvement
Import interface lib
Suppose the interface lib you exported is called dubbo_service.
- If you didn’t upload your lib to your git repository, It is recommended that you copy the
dubbo_service
lib into the project’sapps
directory. - If it is upload to your git repository, you can import like this:
{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
]}.
Consumer Configuration
Please reference Reference Config
Init dubbolib in your project
It is need you
dubboerl:init().
How to invoke?
Sync Call
Request = #userInfoRequest{requestId = 123, username = "testname"},
{ok,RequestRef,Response,RpcContent} = userOperator:queryUserInfo(Request,#{sync=> true}).
If it occur error, is reponse {error,Reason}
.
Async Call
Default is Async call.
Request = #userInfoRequest{requestId = 123, username = "testname"},
{ok,RequestRef} = userOperator:queryUserInfo(Request).
%% you can receive the message after.
{msg_back,RequestRef,Response,RpcContent}.
Sample
Reference the demo project dubboerl_demo
Last modified December 22, 2020: clean up website (6e41905afa)