add changes for 0.4.0
1 file changed
tree: 5b119e07df7e8efaf859f2beb0671f784b715f9b
  1. .github/
  2. .gitignore
  3. .travis.yml
  4. CHANGES.md
  5. LICENSE
  6. README.md
  7. config_example/
  8. docs/
  9. include/
  10. rebar.config
  11. rebar.lock
  12. rebar3
  13. samples/
  14. src/
  15. test/
  16. tools/
README.md

dubboerl

Apache Dubbo Erlang Implementation.

Build Status codecov

Feature list

The following features are supported.

  • Zookeeper registry center (√)
  • Dubbo Protocol (√)
  • Serialize
    • Hessian serialize (√)
    • Json serialize (√)
  • Erlang project as a consumer (√)
  • Erlang project as a provider (√)
  • Sync invoker (√)
  • Async invoker (√)
  • Random load balance (√)
  • Network rate limit (√)
  • Connection pools (√)

Start

Import

Add dubblerl to rebar.config with your project

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

Step1

Use erlanalysis tool transfer java interface to erlang lib. And add the lib to you project app dir.

Step2

configure dubbo reference.

in sys.config add dubboerl config. For example:

{dubboerl,[
	{zookeeper_list,[{"127.0.0.1",2181}]},
	{application,<<"testdubboerl">>},
	{consumer,[
		{<<"org.apache.dubbo.erlang.sample.service.facade.UserOperator">>,[]}
	]},
	{provider,[
		{user_impl,userOperator,<<"org.apache.dubbo.erlang.sample.service.facade.UserOperator">>,[]}
	]}
	
]}

Step4

Init dubboerl application context when your project start.

dubboerl:init().

Step5

Call the interface method.

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

Sample

Reference the demo project dubboerl_demo

More Documents

Reference Docs