dubbox配置
来源:互联网 发布:恋爱的双马尾 知乎 编辑:程序博客网 时间:2024/06/06 16:47
dubbox配置步骤:
1:https://github.com/alibaba/dubbo 下载dubbox源码
2:使用mvn 编译:
将下载的源码包解压,在解压的文件夹上Shift+鼠标右键,选择“在此处打开命令窗口”,在cmd中执行:mvn install -Dmaven.test.skip=true
等待编译完成,时间有点长,编译完成后将要用到的jar包放入maven仓库
3:配置dubbo-admin管理界面
从编译的dubbo文件夹中拿到dubbo-admin-2.8.4.war包,放在tomcat的webapps/ROOT下,然后进行解压,然后到webapps/ROOT/WEB-INF下,有一个dubbo.properties文件,修改配置文件 ,将zookeeper集群地址写入。
然后启动tomcat服务,用户名和密码:root,并访问服务,显示登陆页面,说明dubbo-admin部署成功
4:dubbox与Spring的整合
父工程:parent.pom
(1)在pom文件中加入以下依赖:
<dependency> <groupId>org.javassist</groupId> <artifactId>javassist</artifactId> <version>3.15.0-GA</version> </dependency>
Ps:没有该依赖会报以下错误
<!--zookeeper--> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.4.8</version> </dependency> <dependency> <groupId>com.github.sgroschupf</groupId> <artifactId>zkclient</artifactId> <version>0.1</version> </dependency> <!--dubbox Rest调用核心jar包--> <dependency> <groupId>org.jboss.resteasy</groupId> <artifactId>resteasy-jaxrs</artifactId> <version>3.0.7.Final</version> </dependency> <dependency> <groupId>org.jboss.resteasy</groupId> <artifactId>resteasy-client</artifactId> <version>3.0.7.Final</version> </dependency> <!--数据校验,2个依赖是一起的,没有容器起不来--> <dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>1.1.0.Final</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>5.1.3.Final</version> </dependency>
Ps:没有该依赖会报以下错误
Rest风格实现远程调用的序列化JAR包 <!-- 如果要使用json序列化 --> <dependency> <groupId>org.jboss.resteasy</groupId> <artifactId>resteasy-jackson-provider</artifactId> <version>3.0.7.Final</version> </dependency> <!-- 如果要使用xml序列化 --> <dependency> <groupId>org.jboss.resteasy</groupId> <artifactId>resteasy-jaxb-provider</artifactId> <version>3.0.7.Final</version> </dependency>(2)在dubbox服务接口中加入以下依赖: dubbox.pom <dependencies> <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>2.8.4</version> </dependency> <!-- dubbox的servlet,相当于springmvc --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.0.1</version> <scope>provided</scope> </dependency> Ps: <scope>provided</scope>必须加,没有该依赖会报以下错误:
<!-- javax注解包,如@Consumes,@Produces,@Path,@GET --> <dependency> <groupId>javax.ws.rs</groupId> <artifactId>javax.ws.rs-api</artifactId> <version>2.0</version> </dependency> <dependency> <groupId>javax.annotation</groupId> <artifactId>javax.annotation-api</artifactId> <version>1.2</version> </dependency> <!-- java对象与json 相互转化jar包--> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>1.9.12</version> </dependency> </dependencies>(3)dubbox服务提供者Provider和消费者Consumer都继承parent,依赖dubbox接口(4)提供者Provider的xml配置文件:<!-- 提供方应用信息,用于计算依赖关系 --><dubbo:application name="dubbo-provider" /><!-- 使用zookeeper注册中心暴露服务地址 --><dubbo:registry address="zookeeper://192.168.228.141:2181?backup=192.168.228.141:2182,192.168.228.141:2183" /><!-- 启用rest协议 --><dubbo:protocol name="rest" threads="500" port="8074" contextpath="/" server="servlet" accepts="500" extension="com.alibaba.dubbo.rpc.protocol.rest.support.LoggingFilter" /><!-- 声明需要暴露的服务接口 --> <dubbo:service interface="com.dubbo.service.DemoService" ref="demo" protocol="rest" timeout="10000"/><!-- 具体的实现bean --> <bean id="demo" class="com.dubbo.service.DemoServiceImpl"/>(5)消费者consumer的xml配置文件: <!--消费方应用名,用于计算依赖关系,不是匹配条件,不要与提供方一样 --> <dubbo:application name="dubbo-consumer"/> <!--zookeeper注册中心 --> <dubbo:registry address="zookeeper://192.168.228.141:2181?backup=192.168.228.141:2182,192.168.228.141:2183" /> <!-- 是否检查,如果true,当容器起来时,去zk中检查提供者必须正常。如果服务不在,退出。容器启动失败 --> <dubbo:reference check="false" id="demoService" interface="com.dubbo.service.DemoService" timeout="10000"/>(6)启动provider和consumer: 到dubbo-admin管理页面,不出意外应该可以看到服务都有了PS如果测试调用方法时出现以下错误:
异常原因未知解决方法:将Provider.xml文件中<!-- 声明需要暴露的服务接口 --> <dubbo:service interface="com.dubbo.service.DemoService" ref="demo" protocol="rest" timeout="10000"/> 的protocol="rest" 改为protocol="dubbo" 5.扩展dubboxJAR包:(根据需求自行导入)<!-- 如果要使用netty server --><dependency> <groupId>org.jboss.resteasy</groupId> <artifactId>resteasy-netty</artifactId> <version>3.0.7.Final</version></dependency><!-- 如果要使用Sun HTTP server --><dependency> <groupId>org.jboss.resteasy</groupId> <artifactId>resteasy-jdk-http</artifactId> <version>3.0.7.Final</version></dependency><!-- 如果要使用tomcat server --><dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-core</artifactId> <version>8.0.11</version></dependency><dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-logging-juli</artifactId> <version>8.0.11</version></dependency>Kyro序列化<dependency> <groupId>com.esotericsoftware.kryo</groupId> <artifactId>kryo</artifactId> <version>2.24.0</version></dependency><dependency> <groupId>de.javakaffee</groupId> <artifactId>kryo-serializers</artifactId> <version>0.26</version></dependency>FST序列化<dependency> <groupId>de.ruedigermoeller</groupId> <artifactId>fst</artifactId> <version>1.55</version></dependency>Jackson序列化<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.3.3</version></dependency><dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.3.3</version></dependency>Dubbox其他远程调用方式依赖jar包<dependency> <groupId>org.apache.mina</groupId> <artifactId>mina-core</artifactId> <version>1.1.7</version> </dependency> <dependency> <groupId>org.glassfish.grizzly</groupId> <artifactId>grizzly-core</artifactId> <version>2.1.4</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.1.39</version> </dependency> <dependency> <groupId>com.thoughtworks.xstream</groupId> <artifactId>xstream</artifactId> <version>1.4.1</version> </dependency> <dependency> <groupId>org.apache.bsf</groupId> <artifactId>bsf-api</artifactId> <version>3.1</version> </dependency> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.4.8</version> </dependency> <dependency> <groupId>com.github.sgroschupf</groupId> <artifactId>zkclient</artifactId> <version>0.1</version> </dependency> <dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-framework</artifactId> <version>2.5.0</version> </dependency> <dependency> <groupId>com.googlecode.xmemcached</groupId> <artifactId>xmemcached</artifactId> <version>1.3.6</version> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-frontend-simple</artifactId> <version>2.6.1</version> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-transports-http</artifactId> <version>2.6.1</version> </dependency> <dependency> <groupId>org.apache.thrift</groupId> <artifactId>libthrift</artifactId> <version>0.8.0</version> </dependency> <dependency> <groupId>com.caucho</groupId> <artifactId>hessian</artifactId> <version>4.0.7</version> </dependency>
阅读全文
0 0
- dubbox配置
- dubbox拦截器配置
- dubbox
- Dubbox
- Dubbox
- dubbox
- dubbox 2.8.4的配置和使用
- dubbox 2.8.4的配置和使用
- dubbox 2.8.4的配置和使用
- dubbox 2.8.4的配置和使用
- SpringBoot整合Dubbox(无XML配置)
- windows环境dubbox:maven+dubbox+Zookeeper+dubbon-admin 下载,安装,配置
- dubbox 2.8.4的配置和使用分析
- dubbox+oceanus
- Dubbox搭建
- dubbo,dubbox
- Dubbox 编译
- dubbox文档
- Android常用辅助类之单位转换的辅助类
- 39. Combination Sum
- 移动端宽高自适应布局解决办法
- nginx安装服务
- Code Complete部分笔记
- dubbox配置
- Codeforces Round #424 (Div. 2) D. Office Keys(dp)
- 使用Logstash multiline 收集PHP、tomcat等应用服务多行堆栈日志
- svn的使用注意事项
- 在Windows Azure/IIS7环境下部署svg/woff/woff2字体,添加MIME类型
- 05.27 zabbix服务系统监控
- nyoj973天下第一spfa环路判断
- Ubuntu连接校园网
- 揭秘游戏行业遭遇大规模DDoS攻击后的影响和真相丨阿里云河南