Quick Start
Erlang Quick Start
It is recommended to first define the interface jar using Java, and use the erlanalysis tool to parse Java interfaces into Erlang lib.
Import Dependency Libraries
Using the Rebar Build Tool.
Add dubblerl to your project’s rebar.config
{deps, [
{dubboerl, {git, "https://github.com/apache/dubbo-erlang.git", {branch, "master"}}}
]}.
Using the erlang.mk
Build Tool
To be added
Import Interface Libraries
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 uploaded to your git repository, you can import it 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 repo URL
]}.
Consumer Configuration
Please reference Reference Config
Init dubbolib
in Your Project
It is need you to
dubboerl:init().
How to Call?
Synchronous Call
Request = #userInfoRequest{requestId = 123, username = "testname"},
{ok,RequestRef,Response,RpcContent} = userOperator:queryUserInfo(Request,#{sync => true}).
If an error occurs, the response is {error,Reason}
.
Asynchronous Call
Default is Async call.
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).
Example
Refer to the project dubboerl_demo
Feedback
Was this page helpful?
Yes No
Last modified September 30, 2024: Update & Translate Overview Docs (#3040) (d37ebceaea7)