-
Notifications
You must be signed in to change notification settings - Fork 794
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
9 changed files
with
276 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
# Consumer Configurations | ||
|
||
## Base Config | ||
Consumer config is under the dubboerl application with sys.config | ||
```erlang | ||
{dubboerl,[ | ||
%% other config ... | ||
{consumer,[ | ||
{<<"interface fullname">>,[Option]}, | ||
%% eg: | ||
{<<"org.apache.dubbo.erlang.sample.service.facade.UserOperator">>,[]}, | ||
]} | ||
]} | ||
``` | ||
Option is to be added. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
# Protocol Configurations | ||
|
||
The library now only supports hessian and json serialization. | ||
|
||
## Configuration example | ||
Protocol config is under the dubboerl application with sys.config | ||
```erlang | ||
{dubboerl,[ | ||
%% other config ... | ||
{protocol,hessian} | ||
]} | ||
``` | ||
|
||
| ConfigName | Type | DefaultValue | Remarks | | ||
| --- | --- | --- | --- | | ||
| protocol | atom() | hessian | hessian,json | | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
# Provider Configurations | ||
|
||
## Base Config | ||
Provider config is under the dubboerl application with sys.config | ||
```erlang | ||
{dubboerl,[ | ||
%% other config ... | ||
{provider,[ | ||
{module_implements,interface_module,interface_fullname,[Options]}, | ||
%% eg: | ||
{userOperator_impl,userOperator,<<"org.apache.dubbo.erlang.sample.service.facade.UserOperator">>,[Option]} | ||
]} | ||
]} | ||
``` | ||
|
||
| ConfigName | Type | DefaultValue | Remarks | | ||
| --- | --- | --- | --- | | ||
| module_implements | atom() | - | The service implements module name| | ||
| interface_module | atom() | - | Interface module name is transfer form java jar | | ||
| interface_fullname | binary() | - | Interface full name is the java class name | | ||
|
||
Option is to be added. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
# Quick Start | ||
|
||
We recommend using java to define the Dubbo interface. And use [erlanalysis](https://github.com/apache/dubbo-erlang/tree/master/tools/erlanalysis) | ||
tool parse java interface transfer to erlang lib. | ||
|
||
## Import Dependency Lib | ||
|
||
|
||
### Using Rebar Build Tool | ||
Add dubblerl to rebar.config with your project | ||
```erlang | ||
{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's `apps` directory. | ||
* If it is upload to your git repository, you can import like this: | ||
```erlang | ||
{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](./reference.md) | ||
|
||
## Init dubbolib in your project | ||
It is need you | ||
```erlang | ||
dubboerl:init(). | ||
``` | ||
|
||
## How to invoke? | ||
|
||
### Sync Call | ||
```erlang | ||
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. | ||
```erlang | ||
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](https://github.com/apache/dubbo-erlang/tree/master/samples) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
# 消费者配置 | ||
|
||
## 基础配置 | ||
消费者配置项需要添加到`sys.config`文件`dubboerl`应用配置项里。 | ||
```erlang | ||
{dubboerl,[ | ||
%% other config ... | ||
{consumer,[ | ||
{<<"interface fullname">>,[Option]}, | ||
%% eg: | ||
{<<"org.apache.dubbo.erlang.sample.service.facade.UserOperator">>,[]}, | ||
]} | ||
]} | ||
``` | ||
Option 配置项待添加中. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
# 序列化配置项 | ||
|
||
当前该库只实现了`dubbo://`通讯协议。 | ||
|
||
序列化方式实现了`hessian`和`json`两种方式。 | ||
|
||
## 配置样例 | ||
|
||
序列化配置需要添加到`sys.config`文件`dubboerl`应用配置项里。 | ||
|
||
```erlang | ||
{dubboerl,[ | ||
%% other config ... | ||
{protocol,hessian} | ||
]} | ||
``` | ||
|
||
| ConfigName | Type | DefaultValue | Remarks | | ||
| --- | --- | --- | --- | | ||
| protocol | atom() | hessian | hessian,json | | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
# 提供者配置 | ||
|
||
## 基本配置 | ||
提供者配置项需要添加到`sys.config`文件`dubboerl`应用配置项里。 | ||
```erlang | ||
{dubboerl,[ | ||
%% other config ... | ||
{provider,[ | ||
{module_implements,interface_module,interface_fullname,[Options]}, | ||
%% eg: | ||
{userOperator_impl,userOperator,<<"org.apache.dubbo.erlang.sample.service.facade.UserOperator">>,[Option]} | ||
]} | ||
]} | ||
``` | ||
|
||
| ConfigName | Type | DefaultValue | Remarks | | ||
| --- | --- | --- | --- | | ||
| module_implements | atom() | - | The service implements module name| | ||
| interface_module | atom() | - | Interface module name is transfer form java jar | | ||
| interface_fullname | binary() | - | Interface full name is the java class name | | ||
|
||
Option is to be added. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
# 快速开始 | ||
|
||
建议先使用java定义接口jar,并使用[erlanalysis](https://github.com/apache/dubbo-erlang/tree/master/tools/erlanalysis) 工具解析java接口至Erlang lib | ||
|
||
## 导入依赖库 | ||
|
||
### 使用 Rebar 编译工具。 | ||
Add dubblerl to rebar.config with your project | ||
```erlang | ||
{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: | ||
```erlang | ||
{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](./reference.md) | ||
|
||
## Init dubbolib in your project | ||
It is need you | ||
```erlang | ||
dubboerl:init(). | ||
``` | ||
|
||
## 如何调用? | ||
|
||
### 同步调用 | ||
```erlang | ||
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. | ||
```erlang | ||
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](https://github.com/apache/dubbo-erlang/tree/master/samples) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters