环境搭建教程

在上一篇中,我们了解了项目的整体结构,以及每个模块大概的作用,现在我们来开始搭建整个环境。

  • 首先用户使用的JDK必须是1.8+ 本地安装了git ,maven ,执行以下命令
1
2
3
git clone https://github.com/wxbty/meepo.git
maven clean install
git clone https://github.com/wxbty/meepo-test.git
  • 使用你的开发工具打开项目分别打开两个项目,比如idea Eclipse

  • 打开你的数据库工具,执行工程文件sql文件夹下的init.sql

dubbo 用户

  • 进入meepo-test项目,修改resource文件夹下的xml文件的数据库配置,如下图:

  • 修改dubbo-order-service.xml、dubbo-stock-service.xml 中的dubbo配置,如图所示:

  • 依次执行OrderServiceImpl,StockServiceImpl的main方法

  • 启动订单和库存服务后,可在命令行执行 telnet localhost 20880/20881 然后 ls 查看两个dubbo服务是否正常暴露

  • 执行test下面的TransactionTest体验dubbo的分布式事务。

test说明

  • 在每个测试用例里,都包含了概率抛特定异常及概率超时的场景,如下

    概率抛特定异常

  • testInsertAndUpdate测试用例执行插入一个订单,同时减少库存的操作

    calcService.bussiness(orderService, stockService, userId);表示一次插入订单及减少库存的操作,开启若干线程,每个线程循环若干次操作,结束后计算前后的库存+订单量是否相等

  • testInsert测试单事务/本地事务

    以全局变量代替库存减少,结束后计算前后的库存+订单量是否相等

  • testDeleteAndUpdate测试删除一个订单,同时增加库存的操作

    3个用例可以覆盖增删改及多服务/单服务的测试场景

  • mybatis测试:把 int ret = jdbcTemplate.update 改成dao再重新跑几个测试用例即可

  • cglib测试:spring默认jdk动态代理,在spring配置文件中加入,重新跑测试用例