淘淘商城02_dubbo2.5.3简单入门和监控中心展示。

一、首先要在service工程中添加dubbo依赖。

  注意:dubbo需要排除依赖,默认的spring版本是2.x。和现有的冲突。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>taotao-manager</artifactId>
        <groupId>com.taotao</groupId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>taotao-manager-service</artifactId>
    <packaging>war</packaging>
    ......
    ......
  <!--省略部分代码--> ......
<!-- dubbo相关 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <!--排除依赖--> <exclusions> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring</artifactId> </exclusion> <exclusion> <groupId>org.jboss.netty</groupId> <artifactId>netty</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> </dependency> <dependency> <groupId>com.github.sgroschupf</groupId> <artifactId>zkclient</artifactId> </dependency> </dependencies> </project>

二、写一个service接口。

public interface ItemService {
    EasyUIDataGrid getItemList(Integer page, Integer rows);
}

三、Service实现类。

@Service
public class ItemServiceImpl implements ItemService {

    @Autowired
    private TbItemMapper tbItemMapper;

    @Override
    public EasyUIDataGrid getItemList(Integer page, Integer rows) {
        if (null == page || 0 == page) {
            page = 1;
        }
        if (null == rows || 0 == rows) {
            rows = 30;
        }
        //PageHelper设置分页参数
        PageHelper.startPage(page, rows);
        //使用mapper查询
        TbItemExample example = new TbItemExample();
        List<TbItem> list = tbItemMapper.selectByExample(example);

        PageInfo<TbItem> pageInfo = new PageInfo<>(list);
        EasyUIDataGrid result = new EasyUIDataGrid();
        result.setTotal((int) pageInfo.getTotal());
        result.setRows(pageInfo.getList());
        return result;
    }
}

四、spring配置文件中配置dubbo。

  name : 自己根据实际情况定义,可以写你当前接口项目名称。

  address:zookeeper服务的ip和端口。(需要你提前安装好zookeeper并启动服务)

   <!--使用dubbo发布服务-->
    <!--提供方应用信息,用于计算依赖关系-->
    <dubbo:application name="taotao-manager"></dubbo:application>
    <dubbo:registry protocol="zookeeper" address="192.168.1.123:2181"/>
    <!--用dubbo协议在20880端口暴露服务-->
    <dubbo:protocol name="dubbo" port="20880"/>
    <!--声明要暴露的服务接口-->
    <dubbo:service interface="com.taotao.service.ItemService" ref="itemServiceImpl"/>

五、Controller类。

@Controller
public class ItemController {
    @Autowired
    private ItemService itemService;

    @RequestMapping(value = "/item/list", method = RequestMethod.GET)
    @ResponseBody
    public EasyUIDataGrid getItemList(Integer page, Integer rows) {
        EasyUIDataGrid list = itemService.getItemList(page, rows);
        return list;
    }
}

六、配置springmvc.xml。

  timeout单位为毫秒,默认为1秒。300000即接口响应超时不能超过5分钟。

  <!--引入dubbo服务-->
    <dubbo:application name="taotao-manager-web"/>
    <dubbo:registry protocol="zookeeper" address="192.168.1.123:2181"/>
  
    <dubbo:reference interface="com.taotao.service.ItemService" id="itemService" timeout="300000"/>

七、查看前台接口调用。显示成功。

八、dubbo监控中心安装。

  1、上传dubbo的war包、和tomcat

  

  2、重命名dubbo的war包为:dubbo-admin.war。mv dubbo-admin-2.5.4.war dubbo-admin.war

  

  3、复制dubbo的war包到tomcat的webapp目录下。cp dubbo-admin.war apache-tomcat-7.0.85/webapps/

  

  4、启动tomcat。bin/startup.sh

  5、启动后war包就会自动被解压。修改war下面的dubbo.properties。

  

  

  address为zookeeper服务的ip和端口,账号和密码。默认为root/guest

  

  6、浏览器中访问dubbo。默认账号密码为root/root。

  

 

 

  

 

posted @ 2018-08-27 22:52  原谅我这一生放荡不羁  阅读(475)  评论(0编辑  收藏  举报