jlthlx 发表于 2017-3-3 08:34:16

dubbox 编译 和 测试

  因为 dubbox 并没有发布到maven中央仓库仓库中,所以需要我们自己到官网下载,自己编译,install 到本地。
  1. 首先安装git客户端工具 TortoiseGit, 然后使用它将 dubbox 从官网github地址:https://github.com/dangdangdotcom/dubbox clone到本地:

  2. 使用mvn 编译:
  在cmd 中执行:
  E:\Java_book\dubbo\dubbox\dubbox>mvn install -Dmaven.test.skip=true
  一般要几分钟到十几分钟,第一次有可能编译失败,失败时,重新执行命令就行,编译成功如下:



------------------------------------------------------------------------
Reactor Summary:

dubbo-parent ....................................... SUCCESS
Hessian Lite(Alibaba embed version) ................ SUCCESS
dubbo-common ....................................... SUCCESS
dubbo-container .................................... SUCCESS
dubbo-container-api ................................ SUCCESS
dubbo-container-spring ............................. SUCCESS
dubbo-container-javaconfig ......................... SUCCESS
dubbo-container-jetty .............................. SUCCESS
dubbo-container-log4j .............................. SUCCESS
dubbo-container-logback ............................ SUCCESS
dubbo-remoting ..................................... SUCCESS
dubbo-remoting-api ................................. SUCCESS
dubbo-remoting-netty ............................... SUCCESS
dubbo-remoting-mina ................................ SUCCESS
dubbo-remoting-grizzly ............................. SUCCESS
dubbo-remoting-p2p ................................. SUCCESS
dubbo-remoting-http ................................ SUCCESS
dubbo-remoting-zookeeper ........................... SUCCESS
dubbo-rpc .......................................... SUCCESS
dubbo-rpc-api ...................................... SUCCESS
dubbo-rpc-default .................................. SUCCESS
dubbo-rpc-injvm .................................... SUCCESS
dubbo-rpc-rmi ...................................... SUCCESS
dubbo-rpc-hessian .................................. SUCCESS
dubbo-rpc-http ..................................... SUCCESS
dubbo-rpc-webservice ............................... SUCCESS
dubbo-cluster ...................................... SUCCESS
dubbo-registry ..................................... SUCCESS
dubbo-registry-api ................................. SUCCESS
dubbo-monitor ...................................... SUCCESS
dubbo-monitor-api .................................. SUCCESS
dubbo-filter ....................................... SUCCESS
dubbo-filter-validation ............................ SUCCESS
dubbo-filter-cache ................................. SUCCESS
dubbo-registry-default ............................. SUCCESS
dubbo-monitor-default .............................. SUCCESS
dubbo-registry-multicast ........................... SUCCESS
dubbo-config ....................................... SUCCESS
dubbo-config-api ................................... SUCCESS
dubbo-config-spring ................................ SUCCESS
dubbo-rpc-thrift ................................... SUCCESS
dubbo-rpc-memcached ................................ SUCCESS
dubbo-rpc-redis .................................... SUCCESS
dubbo-rpc-rest ..................................... SUCCESS [ 23.272 s]
dubbo-registry-zookeeper ........................... SUCCESS
dubbo-registry-redis ............................... SUCCESS
dubbo .............................................. SUCCESS [ 26.157 s]
dubbo-simple ....................................... SUCCESS
dubbo-registry-simple .............................. SUCCESS [ 50.771 s]
dubbo-monitor-simple ............................... SUCCESS [ 26.226 s]
dubbo-admin ........................................ SUCCESS [ 56.042 s]
dubbo-demo ......................................... SUCCESS
dubbo-demo-api ..................................... SUCCESS [ 14.156 s]
dubbo-demo-provider ................................ SUCCESS
dubbo-demo-consumer ................................ SUCCESS [ 24.484 s]
dubbo-test ......................................... SUCCESS
dubbo-test-benchmark ............................... SUCCESS
dubbo-test-compatibility ........................... SUCCESS
dubbo-test-integration ............................. SUCCESS
dubbo-test-examples ................................ SUCCESS
dubbo-test-benchmark-api ........................... SUCCESS
dubbo-test-benchmark-server ........................ SUCCESS [ 24.342 s]
dubbo-test-benchmark-client ........................ SUCCESS [ 24.110 s]
------------------------------------------------------------------------
BUILD SUCCESS
------------------------------------------------------------------------
Total time: 05:11 min
Finished at: 2016-02-22T20:32:27+08:00
Final Memory: 38M/157M
------------------------------------------------------------------------

  在各个项目的 target 目录下,会生成 对应的 jar 文件:

  3. 测试 dubbox:
  先转换成 eclipse 项目,执行下面的命令:
  E:\Java_book\dubbo\dubbox\dubbox>mvn eclipse:eclipse
  然后导入 eclipse。
  然后启动 zookeeper:
  1) E:\mycat\zookeeper-3.4.6\bin>zkServer.cmd
  2) 运行 dubbo-demo-provider\src\test\java\com\alibaba\dubbo\demo\provider\DemoProvider.java
  成功时,zookeeper会显示如下的信息:

  其中的 Error 不用管,没有关系。
  到这里表示 dubbox 的服务成功注册到 zookeeper 中,下面测试服务消费者:
  3) 运行:dubbo-demo-consumer\src\test\java\com\alibaba\dubbo\demo\consumer\DemoConsumer.java
  可以在eclipse控制台看到类似下面的信息:



mainINFO support.LoggingFilter: The HTTP headers are:
Accept: application/json;charset=UTF-8
Accept-Encoding: gzip, deflate
Content-Type: application/json
, dubbo version: 2.0.0, current host: 192.168.1.3
Writer interceptor invoked
Dynamic writer interceptor invoked
mainINFO support.LoggingFilter: The contents of response body is:
{"id":1,"username":"larrypage"}
, dubbo version: 2.0.0, current host: 192.168.1.3
mainINFO support.LoggingFilter: The HTTP headers are:
Content-Type: application/json;charset=UTF-8
Date: Mon, 22 Feb 2016 13:18:22 GMT
Server: Apache-Coyote/1.1
Transfer-Encoding: chunked
, dubbo version: 2.0.0, current host: 192.168.1.3
Client response filter invoked
Reader interceptor invoked
Dynamic reader interceptor invoked
mainINFO support.LoggingFilter: The contents of request body is:
{"id":9}
, dubbo version: 2.0.0, current host: 192.168.1.3
SUCCESS: registered user with id 9
Client request filter invoked
mainINFO support.LoggingFilter: The HTTP headers are:
Accept: application/json;charset=UTF-8
Accept-Encoding: gzip, deflate
, dubbo version: 2.0.0, current host: 192.168.1.3
mainINFO support.LoggingFilter: The HTTP headers are:
Content-Type: application/json;charset=UTF-8
Date: Mon, 22 Feb 2016 13:18:22 GMT
Server: Apache-Coyote/1.1
Transfer-Encoding: chunked
, dubbo version: 2.0.0, current host: 192.168.1.3
Client response filter invoked
Reader interceptor invoked
Dynamic reader interceptor invoked
mainINFO support.LoggingFilter: The contents of request body is:
{"id":1,"username":"username1"}
, dubbo version: 2.0.0, current host: 192.168.1.3
SUCCESS: got user User (id=1, name='username1')
mainINFO container.Main: Dubbo SpringContainer started!, dubbo version: 2.0.0, current host: 192.168.1.3
Dubbo service server started!

  SUCCESS: got user User (id=1, name='username1')
  调用成功。
  运行:dubbo-demo-consumer\src\test\java\com\alibaba\dubbo\demo\consumer\RestClient.java
  浏览访问:http://localhost:8888/services/users/100.json
  显示如下:

  rest 调用成功。
  这里 编译和测试的 master 分支,实际应用时我们一般下载官方的release版本,比如:
  https://github.com/dangdangdotcom/dubbox/releases/tag/dubbox-2.8.4
  进行编译。
  参考:http://www.cnblogs.com/yjmyzz/p/dubbox-demo.html
页: [1]
查看完整版本: dubbox 编译 和 测试