dubbo与spring mvc 整合 搭建

来源:互联网 发布:创世数据网站 编辑:程序博客网 时间:2024/06/11 17:23

一、Zookeeper安装略过。

二、配置dubbo-admin的管理页面,方便我们管理页面

 (1)下载dubbo-admin-2.4.1.war包,在Linuxtomcat部署,先把dubbo-admin-2.4.1放在tomcatwebapps/ROOT下,然后进行解压:

        #jar -xvf dubbo-admin-2.4.1.war(下载地址)

    (2)然后到webapps/ROOT/WEB-INF下,有一个dubbo.properties文件,里面指向Zookeeper ,使用的是Zookeeper 的注册中心,如图所示:

        

   (3)然后启动tomcat服务,用户名和密码:root,并访问服务,显示登陆页面,说明dubbo-admin部署成功,如图所示:

      

三、代码demo编写:

     由于dubbo自己提供的pom.xml的spring版本较低,本人改成自己经常用的4.2


 

        <!-- 定义公共变量 --><span style="white-space:pre"></span><properties><span style="white-space:pre"></span><java-version>1.7</java-version><span style="white-space:pre"></span><maven-compiler.version>1.7</maven-compiler.version><span style="white-space:pre"></span><org.springframework-version>4.2.0.RELEASE</org.springframework-version><span style="white-space:pre"></span><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><span style="white-space:pre"></span></properties><pre name="code" class="html" style="color: rgb(51, 51, 51); font-size: 13.3333330154419px; line-height: 24px;">         <!-- Spring -->
<dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>${org.springframework-version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>${org.springframework-version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>${org.springframework-version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId><version>${org.springframework-version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</artifactId><version>${org.springframework-version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${org.springframework-version}</version><exclusions><!-- Exclude Commons Logging in favor of SLF4j --><exclusion><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${org.springframework-version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>${org.springframework-version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>${org.springframework-version}</version></dependency>


    1)、provider提供者:

       

/** *  */package com.sgck.dubbointerface;/** * @author  2016年3月28日下午2:13:08 测试dubbo */public interface TestRegistryService {public String hello(String name);}


package com.sgck.provider;import org.springframework.stereotype.Service;import com.sgck.dubbointerface.TestRegistryService;@Service("testRegistryService")public class TestRegistryProviderService implements TestRegistryService {@Overridepublic String hello(String name) {return "this is a provider ->" + name;}}

配置修改:(本人局域网的zookeeper地址:10.0.99.72:2181)




      2)、consumer消费者:

       

package com.sgck.consumer;import java.util.HashMap;import java.util.Map;import javax.servlet.http.HttpServletRequest;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;import com.sgck.dubbointerface.TestRegistryService;@Controller@RequestMapping("/TestConsumerController")public class TestConsumerController {@Autowiredprivate TestRegistryService testRegistryService;@RequestMapping(value = "hello")@ResponseBodypublic Object addOrUpdate(HttpServletRequest request) {try {String hello = testRegistryService.hello("Consumer1");return setResult("请求成功!", 200, hello);} catch (Exception e) {return setResult("处理异常!", 199, e.getMessage());}}protected Object setResult(String msg, int state, Object data) {Map<String, Object> $data = new HashMap<String, Object>();$data.put("state", state);$data.put("msg", msg);if (null != data) {$data.put("data", data);}return $data;}}
配置如下:



四、启动:

1)、启动provider所在tomcat

2)、启动consumer所在的tomcat


五、到dubbo管理页面查看




0 0
原创粉丝点击