美文网首页
spring4与dubbo的整合

spring4与dubbo的整合

作者: 老余在此 | 来源:发表于2017-06-28 22:55 被阅读0次

我是老余,在此记下一些自己解决的小问题

dubbo server配置

1. 配置provider.xml

<!-- 提供方应用信息,用于计算依赖关系 -->
<dubbo:application name="hello-world-app"/>

<!-- 使用multicast广播注册中心暴露服务地址 -->
<dubbo:registry address="zookeeper://127.0.0.1:2181"/>

<!-- 用dubbo协议在20880端口暴露服务 -->
<dubbo:protocol name="dubbo" port="20880"/>

<!-- 声明需要暴露的服务接口 -->
<dubbo:service interface="org.test.service.TestService" ref="testService" version="1.0.0"/>
<!-- 和本地bean一样实现服务 -->
<bean id="testService" class="org.test.service.impl.TestServiceImpl"/>

2.编写对应接口与实现类

org.test.service.TestService:

List<User> selectAll();

org.test.service.impl.TestServiceImpl:

@Override
public List<User> selectAll() {
    List<User> list = new ArrayList<>();

    User user = new User("a", 1);
    User user2 = new User("b", 2);
    list.add(user);
    list.add(user2);
    return list;
}

3.配置web.xml

<context-param>
    <param-name>contextConfigLocation</param-name>
    <!--指定配置文件位置-->
    <param-value>classpath:provider.xml</param-value>
</context-param>
<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
    <servlet-name>DispatcherServlet
    </servlet-name>
    <servlet-class>com.alibaba.dubbo.remoting.http.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>DispatcherServlet</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>
将接口打包为jar .. 到这里已经把项目打包发布到tomcat上了,如果需要看到web服务,需要在本地部署dubbo管理平台,可以到github上下载项目并编译打包,github地址为:https://github.com/alibaba/dubbo ,管理平台项目是dubbo-admin,编译完成后war包在target下
管理平台.png

dubbo consumer端配置

先将dubbo中的spring依赖去掉:
修改依赖.png

1.将接口jar引入到项目,修改spring配置文件,加入dubbo consumer配置

<dubbo:application name="consumer-of-helloworld-app"/>

<!-- 使用multicast广播注册中心暴露发现服务地址 -->
<dubbo:registry address="zookeeper://127.0.0.1:2181"/>

<!-- 生成远程服务代理,可以和本地bean一样使用demoService -->
<dubbo:reference id="testService" interface="org.test.service.TestService" version="1.0.0"/>

2.在项目中使用@Resource注解,spring会自动将bean注入

@Resource
private TestService testService;

@RequestMapping("/testDubbo")
public String testDubbo() {
    Gson gson = new Gson();
    return gson.toJson(testService.selectAll());
}

3.部署到tomcat上,访问http://localhost:8082/testDubbo ,结果如下

结果.png

相关文章

网友评论

      本文标题:spring4与dubbo的整合

      本文链接:https://www.haomeiwen.com/subject/hvjpcxtx.html