dubbox下载编译运行demo
最近公司要搞微服务改造,拿了一个小项目开刀,找来找去,还是偏向当当的dubbox作为分布式服务框架。这里介绍下怎么一条龙跑起一个demo。
1、下载代码
因为代码放在github上,所以我们直接用Eclipse自带的git插件来新建项目:File->Import->Git->Projects from Git->Clone URI->URI输入https://github.com/dangdangdotcom/dubbox,User和Password输入你的github账号密码,点击Next,出现分支页面后直接点Next->在Destination的directory中输入本地工程目录,点击Next->出现导入项目页面后按默认的Import as general project生成新项目,点击next->最后点Finish,慢慢等吧。目前git最新的版本是2.8.4。
2、编译代码
下载完代码后用maven编译打包,有三个事情要做:
一是把maven的setting文件加上阿里云仓库镜像,毕竟是人家的项目,依赖包下起来飞快,找到mirrors节点,加上如下子节点
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
二是把jetty的版本号改下,在工程pom.xml里找到jetty_version节点,把改为6.1.25;
三是跳过test,还是在这个文件里,在build->pluginManagement->plugins节点加入如下配置
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
然后右击Eclipse的dubbox项目->Maven->update project,接着再次右击项目->Run as->Maven install。
3、运行demo
因为要用消费者,所以把dubbo-demo\dubbo-demo-consumer包通过Import->Maven->Existing Maven Projects作为单独项目搞出来编译。同样为了看监控页面,把dubbo-simple\dubbo-monitor-simple也导出来。
首先启动本地zookeeper,然后打出来的dubbo-admin-2.8.4.war丢到tomcat里(这里假设为8098)并启动服务治理,再分别到dubbo-demo-provider\src\test\java\com\alibaba\dubbo\demo\provider\DemoProvider.java、dubbo-demo-consumer\src\test\java\com\alibaba\dubbo\demo\consumer\DemoConsumer.java和dubbo-monitor-simple\src\test\java\com\alibaba\dubbo\monitor\simple\SimpleMonitor.java执行Run as->Java Application,启动服务提供者、消费者的内嵌式tomcat和监控的内嵌式jetty。
以上操作结束后,我们可以去http://127.0.0.1:8098里看服务治理页面,去http://127.0.0.1:8080/applications.html看服务监控页面,用http://localhost:8888/services/u/1.json可以看到服务调用的返回结果。
dubbox下载编译运行demo的更多相关文章
- DuiLib学习笔记1——编译运行demo
c++中皮肤问题比较麻烦,MFC自带的太难用.DirectUI界面库就比较强大了,之前像skin++之类的基于DirectUI收费昂贵.DuiLib是基于DirectUI的界面库,可以将用户界面和处理 ...
- DuiLib学习笔记1.编译运行demo
c++中皮肤问题比较麻烦,MFC自带的太难用.DirectUI界面库就比较强大了,之前像skin++之类的基于DirectUI收费昂贵.DuiLib是基于DirectUI的界面库,可以将用户界面和处理 ...
- WebRTC源码开发(一)MacOS下源码下载、编译及Demo运行
工作需要测试网络传输算法,逐学习WebRTC源码 工作环境 Mac OS 10.14 Xcode 10.2.1 源码下载 从google(需要[你懂的]) 首先[你懂的] 打开终端,输入curl ww ...
- Ubuntu TensorFlow 源码 Android Demo的编译运行
Ubuntu TensorFlow 源码 Android Demo的编译运行 一. 安装 Android 的SDK和NDK SDK 配置 A:下载 国内下载地址选最新的: SDK: https://d ...
- JSBinding + SharpKit / 初体验:下载代码及运行Demo
QQ群:189738580 以下是群主维护的JSB版本: git地址:https://github.com/qcwgithub/qjsbunitynew.git插件源码地址(不包含SpiderMonk ...
- DPM检测模型 VoC-release 5 linux 下编译运行
(转载请注明作者和出处 楼燚(yì)航的blog :http://www.cnblogs.com/louyihang-loves-baiyan/ 未经允许请勿用于商业用途) DPM目前使非神经网络方法 ...
- objective-c 创建工程/编译/运行程序
// First program example #import <Foundation/Foundation.h> int main (int argc, const char * ar ...
- Linux下librdkafka客户端的编译运行
Linux下librdkafka客户端的编译运行 librdkafka是一个开源的Kafka客户端C/C++实现,提供了Kafka生产者.消费者接口. 由于项目需要,我要将Kafka生产者接口封装起来 ...
- GitHub 上下载代码运行报错 :'The sandbox is not sync with the Podfile.lock\'
问题描述: github下载的Demo,很多时候使用到CocoaPods,有的时候因为依赖关系或者版本问题不能编译运行.出现例如The sandbox is not sync with the Pod ...
随机推荐
- redhat6.8链路聚合
centos 6.X 聚合链路 0.查看NetworkManager服务,停止NetworkManager服务.不做这一步很可能出问题 service NetworkManage ...
- Spring注解(生命周期)
对于上面的知识图解,需要一点一点的研究. 首先核心容器: 控制反转 和 依赖注入 创建工程: maven仓库搜索 spring context : 引入后 <!-- https://mvnre ...
- Python caffe.TEST Example(Demo)
下面提供了caffe python的六个测试demo,大家可以根据自己的需求进行修改. Example 1 From project FaceDetection_CNN-master, under d ...
- VLAN虚拟局域网技术(一)-计算机网络
本文主要知识来源于学校课程,部分知识来自于H3C公司教材,未经许可,禁止转载.如需转载,请联系作者并注明出处. 1. VLAN(Virtual LAN):我们称之为虚拟局域网,它的作用就是将物理上互 ...
- U盘安装OS
1. 老毛桃 2. 大白菜 3.
- crm开发(基于ssh)(1)
搭建crm练习ssh环境 第一步 导入jar包 第二步 搭建struts2环境 (1)创建action,创建struts.xml配置文件,配置action (2)配置struts2的过滤器 第三步 搭 ...
- js的callee和caller方法
转载:http://www.css88.com/archives/1706 http://www.jb51.net/article/25561.htm 这里我们可以知道: caller的使用方法: f ...
- 异步编程——promise
异步编程--promise 定义 Promise是异步编程的一个解决方案,相比传统的解决方法--回调函数,使用Promise更为合理和强大,避免了回调函数之间的层层嵌套,也使得代码结构更为清晰,便于维 ...
- python 爬虫001-http请求过程
HTTP 请求流程 一次完整的HTTP请求过程从TCP三次握手建立连接成功后开始,客户端按照指定的格式开始向服务端发送HTTP请求,服务端接收请求后,解析HTTP请求,处理完业务逻辑,最后返回一个HT ...
- Django进阶Template篇001 - 常用模板标签及过滤器
一.模板的组成 HTML代码+逻辑控制代码 二.逻辑控制代码的组成 1.变量(使用双大括号来引用变量) {{ var_name }} 2.标签(tag)的使用(使用大括号和百分号的组成来表示使用tag ...