分享知识 传递快乐
记录一下学习的收获,由于mvc整合dubbo的代码较多,下面只是显示mvc整合dubbo关键代码,相信这些关键代码已经够用了。
在整合dubbo之前需要先配置好zookeeper工具,然后才能使用。由于zookeeper配置简单,网上一找一大把,在这里就不做多介绍。
引入 dubbo所用的jar
<!-- dubbo相关 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<version>2.6.6</version>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.14</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>com.101tec</groupId>
<artifactId>zkclient</artifactId>
<version>0.11</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
<version>4.0.0</version>
<!-- 先排除zookeeper -->
<exclusions>
<exclusion>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
<version>4.1.38.Final</version>
</dependency>
服务者xml配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://code.alibabatech.com/schema/dubbo
http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<context:component-scan base-package="com.xh.mvc.dubbo.provider.service" />
<!-- 提供方应用信息,用于计算依赖关系 -->
<dubbo:application name="spring-mvc-provider" />
<!-- 使用zookeeper注册中心暴露服务地址,即zookeeper的所在服务器ip地址和端口号 -->
<dubbo:registry protocol="zookeeper" address="10.1.1.100:2181" />
<!-- 使用multicast广播注册中心暴露服务地址 -->
<!-- <dubbo:registry address="multicast://224.5.6.7:1234" /> -->
<!-- 用dubbo协议在20880端口暴露服务 -->
<dubbo:protocol name="dubbo" port="20880" />
<!-- 具体的实现bean -->
<!-- <bean id="userService" class="com.xh.mvc.dubbo.provider.service.impl.UserServiceImpl" /> -->
<!-- 声明需要暴露的服务接口 -->
<dubbo:service interface="com.xh.mvc.dubbo.service.UserService" ref="userServiceImpl" group="dubbo" version="1.0.0" timeout="3000" />
</beans>
消费者xml配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://code.alibabatech.com/schema/dubbo
http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<!-- 消费方应用名,用于计算依赖关系,不是匹配条件,不要与提供方一样 -->
<!-- <dubbo:application name="spring-mvc-consumer" /> -->
<dubbo:application name="spring-mvc-consumer">
<dubbo:parameter key="qos.enable" value="true" />
<dubbo:parameter key="qos.accept.foreign.ip" value="false" />
<dubbo:parameter key="qos.port" value="33333" />
</dubbo:application>
<!-- 使用multicast广播注册中心暴露发现服务地址 -->
<dubbo:registry protocol="zookeeper" address="10.1.1.100:2181" />
<!-- 用dubbo协议在20880端口暴露服务 -->
<!-- <dubbo:protocol name="dubbo" port="20880" /> -->
<!-- 生成远程服务代理,可以和本地bean一样使用demoService -->
<dubbo:reference id="userService" interface="com.xh.mvc.dubbo.service.UserService" group="dubbo" version="1.0.0" timeout="3000" />
</beans>
————————————
如有不妥之处请留言指正。相互学习,共同进步。