快速开始

Erlang 快速开始

此文档已经不再维护。您当前查看的是快照版本。如果想要查看最新版本的文档,请参阅最新版本

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

导入依赖库

使用 Rebar 编译工具。

Add dubblerl to rebar.config with your project

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

使用 erlang.mk 编译工具

待补充

导入接口库

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’s apps 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
]}.

消费者配置

Please reference Reference Config

Init dubbolib in your project

It is need you

dubboerl:init().

如何调用?

同步调用

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

If it occur error, is reponse {error,Reason}.

异步调用

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).

示例

参考项目 dubboerl_demo

最后修改 March 1, 2023: Move sdk docs (#2337) (ceab0ea115a)