1,项目的pom文件
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.dream21th.redisson</groupId>
<artifactId>dream21th-redisson</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>dream21th-redisson</name>
<description>redisson分布式锁学习</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson</artifactId>
<version>3.13.5</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.17</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.13</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
2,项目的yml文件
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
druid:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
username: root
password: root
initial-size: 10
max-active: 100
min-idle: 10
max-wait: 60000
pool-prepared-statements: true
max-pool-prepared-statement-per-connection-size: 20
time-between-eviction-runs-millis: 60000
min-evictable-idle-time-millis: 300000
#Oracle需要打开注释
#validation-query: SELECT 1 FROM DUAL
test-while-idle: true
test-on-borrow: false
test-on-return: false
stat-view-servlet:
enabled: true
url-pattern: /druid/*
#login-username: admin
#login-password: admin
filter:
stat:
log-slow-sql: true
slow-sql-millis: 1000
merge-sql: false
wall:
config:
multi-statement-allow: true
#mybatis
mybatis-plus:
mapper-locations: classpath*:/mapper/**/*.xml
#实体扫描,多个package用逗号或者分号分隔
typeAliasesPackage: com.dream21th.redisson.entity
3,创建表和初始化数据
CREATE TABLE `order_info` (
`id` int(11) NOT NULL COMMENT '主键ID',
`num` int(11) NOT NULL COMMENT '库存',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
INSERT INTO order_info VALUES(1,100)
4,编写代码
4.1 配置redis连接
package com.dream21th.redisson.config;
import org.redisson.Redisson;
import org.redisson.api.RedissonClient;
import org.redisson.config.Config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/*
* @Author dream21th
**/
@Configuration
public class RedissionConf {
@Bean
public RedissonClient redission(){
Config config = new Config();
config.useSingleServer().setAddress("redis://127.0.0.1:6379");
RedissonClient redisson = Redisson.create(config);
return redisson;
}
}
4.2 配置mybatis
package com.dream21th.redisson.config;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Configuration;
/*
* @Author dream21th
**/
@Configuration
@MapperScan("com.dream21th.redisson.mapper*")
public class MyBatisConfig {
}
4.3编写实体类
package com.dream21th.redisson.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/*
* @Author dream21th
**/
@Data
@TableName("order_info")
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Order extends Model<Order> {
@TableId(value = "id",type = IdType.AUTO)
private Integer id;
@TableField(value = "num")
private Integer num;
@Override
protected Serializable pkVal() {
return this.id;
}
}
4.4编写mapper类
package com.dream21th.redisson.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dream21th.redisson.entity.Order;
/*
* @Author dream21th
**/
public interface OrderMapper extends BaseMapper<Order> {
}
4.5编写controller
package com.dream21th.redisson.controller;
import com.dream21th.redisson.entity.Order;
import com.dream21th.redisson.mapper.OrderMapper;
import lombok.extern.slf4j.Slf4j;
import org.redisson.api.RLock;
import org.redisson.api.RedissonClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
/*
* @Author dream21th
**/
@Slf4j
@RestController
public class TestController {
@Autowired
private OrderMapper orderMapper;
@Autowired
private RedissonClient redisson;
@GetMapping("testKill")
public void testKill(){
RLock lock = redisson.getLock("KILL-LOCK");
lock.lock();
try{
Order order = orderMapper.selectById(1);
if(order.getNum()==0){
log.info("------------------->>>{}没有库存了<<<------------------",Thread.currentThread().getId());
}else {
log.error("抢到库存还是剩:{}",order.getNum());
order.setNum(order.getNum()-1);
orderMapper.updateById(order);
}
}finally {
lock.unlock();
}
}
}
5,测试准备
5.1打开jmter(准备两个)
压力测试8081端口(10个线程执行10次)
压力测试8081端口(10个线程执行10次)
5.2启动应用分别(端口:8080,8081)
6,开始测试
6.1分别启动两个jmter
7,测试结果
8080端口执行结果
2020-10-08 15:44:47.561 ERROR 17776 --- [nio-8080-exec-9] c.d.redisson.controller.TestController : 抢到库存还是剩:70
2020-10-08 15:44:47.593 ERROR 17776 --- [nio-8080-exec-1] c.d.redisson.controller.TestController : 抢到库存还是剩:69
2020-10-08 15:44:47.619 ERROR 17776 --- [nio-8080-exec-2] c.d.redisson.controller.TestController : 抢到库存还是剩:68
2020-10-08 15:44:47.643 ERROR 17776 --- [nio-8080-exec-3] c.d.redisson.controller.TestController : 抢到库存还是剩:67
2020-10-08 15:44:47.701 ERROR 17776 --- [nio-8080-exec-4] c.d.redisson.controller.TestController : 抢到库存还是剩:65
2020-10-08 15:44:47.751 ERROR 17776 --- [nio-8080-exec-5] c.d.redisson.controller.TestController : 抢到库存还是剩:63
2020-10-08 15:44:47.793 ERROR 17776 --- [nio-8080-exec-6] c.d.redisson.controller.TestController : 抢到库存还是剩:61
2020-10-08 15:44:47.835 ERROR 17776 --- [nio-8080-exec-7] c.d.redisson.controller.TestController : 抢到库存还是剩:59
2020-10-08 15:44:47.885 ERROR 17776 --- [nio-8080-exec-8] c.d.redisson.controller.TestController : 抢到库存还是剩:57
2020-10-08 15:44:47.934 ERROR 17776 --- [io-8080-exec-10] c.d.redisson.controller.TestController : 抢到库存还是剩:55
2020-10-08 15:44:48.059 ERROR 17776 --- [nio-8080-exec-1] c.d.redisson.controller.TestController : 抢到库存还是剩:50
2020-10-08 15:44:48.086 ERROR 17776 --- [nio-8080-exec-2] c.d.redisson.controller.TestController : 抢到库存还是剩:49
2020-10-08 15:44:48.109 ERROR 17776 --- [nio-8080-exec-3] c.d.redisson.controller.TestController : 抢到库存还是剩:48
2020-10-08 15:44:48.137 ERROR 17776 --- [nio-8080-exec-4] c.d.redisson.controller.TestController : 抢到库存还是剩:47
2020-10-08 15:44:48.176 ERROR 17776 --- [nio-8080-exec-5] c.d.redisson.controller.TestController : 抢到库存还是剩:45
2020-10-08 15:44:48.226 ERROR 17776 --- [nio-8080-exec-6] c.d.redisson.controller.TestController : 抢到库存还是剩:43
2020-10-08 15:44:48.275 ERROR 17776 --- [nio-8080-exec-7] c.d.redisson.controller.TestController : 抢到库存还是剩:41
2020-10-08 15:44:48.318 ERROR 17776 --- [nio-8080-exec-8] c.d.redisson.controller.TestController : 抢到库存还是剩:39
2020-10-08 15:44:48.376 ERROR 17776 --- [io-8080-exec-10] c.d.redisson.controller.TestController : 抢到库存还是剩:37
2020-10-08 15:44:48.493 ERROR 17776 --- [nio-8080-exec-9] c.d.redisson.controller.TestController : 抢到库存还是剩:35
2020-10-08 15:44:48.568 ERROR 17776 --- [nio-8080-exec-2] c.d.redisson.controller.TestController : 抢到库存还是剩:32
2020-10-08 15:44:48.618 ERROR 17776 --- [nio-8080-exec-3] c.d.redisson.controller.TestController : 抢到库存还是剩:30
2020-10-08 15:44:48.682 ERROR 17776 --- [nio-8080-exec-4] c.d.redisson.controller.TestController : 抢到库存还是剩:28
2020-10-08 15:44:48.814 ERROR 17776 --- [nio-8080-exec-5] c.d.redisson.controller.TestController : 抢到库存还是剩:26
2020-10-08 15:44:48.868 ERROR 17776 --- [nio-8080-exec-6] c.d.redisson.controller.TestController : 抢到库存还是剩:24
2020-10-08 15:44:48.917 ERROR 17776 --- [nio-8080-exec-7] c.d.redisson.controller.TestController : 抢到库存还是剩:22
2020-10-08 15:44:48.959 ERROR 17776 --- [nio-8080-exec-8] c.d.redisson.controller.TestController : 抢到库存还是剩:20
2020-10-08 15:44:49.011 ERROR 17776 --- [io-8080-exec-10] c.d.redisson.controller.TestController : 抢到库存还是剩:18
2020-10-08 15:44:49.065 ERROR 17776 --- [nio-8080-exec-1] c.d.redisson.controller.TestController : 抢到库存还是剩:16
2020-10-08 15:44:49.088 ERROR 17776 --- [nio-8080-exec-9] c.d.redisson.controller.TestController : 抢到库存还是剩:15
2020-10-08 15:44:49.109 ERROR 17776 --- [nio-8080-exec-2] c.d.redisson.controller.TestController : 抢到库存还是剩:14
2020-10-08 15:44:49.135 ERROR 17776 --- [nio-8080-exec-3] c.d.redisson.controller.TestController : 抢到库存还是剩:13
2020-10-08 15:44:49.159 ERROR 17776 --- [nio-8080-exec-4] c.d.redisson.controller.TestController : 抢到库存还是剩:12
2020-10-08 15:44:49.301 ERROR 17776 --- [nio-8080-exec-6] c.d.redisson.controller.TestController : 抢到库存还是剩:6
2020-10-08 15:44:49.405 ERROR 17776 --- [nio-8080-exec-7] c.d.redisson.controller.TestController : 抢到库存还是剩:2
2020-10-08 15:44:49.451 INFO 17776 --- [nio-8080-exec-8] c.d.redisson.controller.TestController : ------------------->>>66没有库存了<<<------------------
2020-10-08 15:44:49.459 INFO 17776 --- [io-8080-exec-10] c.d.redisson.controller.TestController : ------------------->>>68没有库存了<<<------------------
2020-10-08 15:44:49.464 INFO 17776 --- [nio-8080-exec-1] c.d.redisson.controller.TestController : ------------------->>>59没有库存了<<<------------------
2020-10-08 15:44:49.470 INFO 17776 --- [nio-8080-exec-9] c.d.redisson.controller.TestController : ------------------->>>67没有库存了<<<------------------
2020-10-08 15:44:49.473 INFO 17776 --- [nio-8080-exec-2] c.d.redisson.controller.TestController : ------------------->>>60没有库存了<<<------------------
2020-10-08 15:44:49.552 INFO 17776 --- [nio-8080-exec-5] c.d.redisson.controller.TestController : ------------------->>>63没有库存了<<<------------------
2020-10-08 15:44:49.557 INFO 17776 --- [nio-8080-exec-4] c.d.redisson.controller.TestController : ------------------->>>62没有库存了<<<------------------
2020-10-08 15:44:49.561 INFO 17776 --- [nio-8080-exec-6] c.d.redisson.controller.TestController : ------------------->>>64没有库存了<<<------------------
2020-10-08 15:44:49.567 INFO 17776 --- [nio-8080-exec-7] c.d.redisson.controller.TestController : ------------------->>>65没有库存了<<<------------------
2020-10-08 15:44:49.574 INFO 17776 --- [nio-8080-exec-8] c.d.redisson.controller.TestController : ------------------->>>66没有库存了<<<------------------
2020-10-08 15:44:49.580 INFO 17776 --- [io-8080-exec-10] c.d.redisson.controller.TestController : ------------------->>>68没有库存了<<<------------------
2020-10-08 15:44:49.586 INFO 17776 --- [nio-8080-exec-1] c.d.redisson.controller.TestController : ------------------->>>59没有库存了<<<------------------
2020-10-08 15:44:49.591 INFO 17776 --- [nio-8080-exec-9] c.d.redisson.controller.TestController : ------------------->>>67没有库存了<<<------------------
2020-10-08 15:44:49.595 INFO 17776 --- [nio-8080-exec-2] c.d.redisson.controller.TestController : ------------------->>>60没有库存了<<<------------------
2020-10-08 15:44:49.601 INFO 17776 --- [nio-8080-exec-3] c.d.redisson.controller.TestController : ------------------->>>61没有库存了<<<------------------
2020-10-08 15:44:50.057 INFO 17776 --- [nio-8080-exec-4] c.d.redisson.controller.TestController : ------------------->>>62没有库存了<<<------------------
2020-10-08 15:44:50.064 INFO 17776 --- [nio-8080-exec-6] c.d.redisson.controller.TestController : ------------------->>>64没有库存了<<<------------------
2020-10-08 15:44:50.069 INFO 17776 --- [nio-8080-exec-7] c.d.redisson.controller.TestController : ------------------->>>65没有库存了<<<------------------
2020-10-08 15:44:50.073 INFO 17776 --- [nio-8080-exec-8] c.d.redisson.controller.TestController : ------------------->>>66没有库存了<<<------------------
2020-10-08 15:44:50.078 INFO 17776 --- [io-8080-exec-10] c.d.redisson.controller.TestController : ------------------->>>68没有库存了<<<------------------
2020-10-08 15:44:50.083 INFO 17776 --- [nio-8080-exec-1] c.d.redisson.controller.TestController : ------------------->>>59没有库存了<<<------------------
2020-10-08 15:44:50.089 INFO 17776 --- [nio-8080-exec-9] c.d.redisson.controller.TestController : ------------------->>>67没有库存了<<<------------------
2020-10-08 15:44:50.092 INFO 17776 --- [nio-8080-exec-2] c.d.redisson.controller.TestController : ------------------->>>60没有库存了<<<------------------
2020-10-08 15:44:50.097 INFO 17776 --- [nio-8080-exec-3] c.d.redisson.controller.TestController : ------------------->>>61没有库存了<<<------------------
2020-10-08 15:44:50.101 INFO 17776 --- [nio-8080-exec-5] c.d.redisson.controller.TestController : ------------------->>>63没有库存了<<<------------------
2020-10-08 15:44:50.553 INFO 17776 --- [nio-8080-exec-6] c.d.redisson.controller.TestController : ------------------->>>64没有库存了<<<------------------
2020-10-08 15:44:50.557 INFO 17776 --- [nio-8080-exec-7] c.d.redisson.controller.TestController : ------------------->>>65没有库存了<<<------------------
2020-10-08 15:44:50.561 INFO 17776 --- [nio-8080-exec-8] c.d.redisson.controller.TestController : ------------------->>>66没有库存了<<<------------------
2020-10-08 15:44:50.565 INFO 17776 --- [io-8080-exec-10] c.d.redisson.controller.TestController : ------------------->>>68没有库存了<<<------------------
2020-10-08 15:44:50.569 INFO 17776 --- [nio-8080-exec-1] c.d.redisson.controller.TestController : ------------------->>>59没有库存了<<<------------------
2020-10-08 15:44:50.573 INFO 17776 --- [nio-8080-exec-9] c.d.redisson.controller.TestController : ------------------->>>67没有库存了<<<------------------
2020-10-08 15:44:50.578 INFO 17776 --- [nio-8080-exec-2] c.d.redisson.controller.TestController : ------------------->>>60没有库存了<<<------------------
2020-10-08 15:44:50.582 INFO 17776 --- [nio-8080-exec-3] c.d.redisson.controller.TestController : ------------------->>>61没有库存了<<<------------------
2020-10-08 15:44:50.587 INFO 17776 --- [nio-8080-exec-5] c.d.redisson.controller.TestController : ------------------->>>63没有库存了<<<------------------
2020-10-08 15:44:50.590 INFO 17776 --- [nio-8080-exec-4] c.d.redisson.controller.TestController : ------------------->>>62没有库存了<<<------------------
2020-10-08 15:44:51.051 INFO 17776 --- [nio-8080-exec-7] c.d.redisson.controller.TestController : ------------------->>>65没有库存了<<<------------------
2020-10-08 15:44:51.055 INFO 17776 --- [nio-8080-exec-8] c.d.redisson.controller.TestController : ------------------->>>66没有库存了<<<------------------
2020-10-08 15:44:51.058 INFO 17776 --- [io-8080-exec-10] c.d.redisson.controller.TestController : ------------------->>>68没有库存了<<<------------------
2020-10-08 15:44:51.063 INFO 17776 --- [nio-8080-exec-1] c.d.redisson.controller.TestController : ------------------->>>59没有库存了<<<------------------
2020-10-08 15:44:51.067 INFO 17776 --- [nio-8080-exec-9] c.d.redisson.controller.TestController : ------------------->>>67没有库存了<<<------------------
2020-10-08 15:44:51.071 INFO 17776 --- [nio-8080-exec-2] c.d.redisson.controller.TestController : ------------------->>>60没有库存了<<<------------------
2020-10-08 15:44:51.075 INFO 17776 --- [nio-8080-exec-3] c.d.redisson.controller.TestController : ------------------->>>61没有库存了<<<------------------
2020-10-08 15:44:51.079 INFO 17776 --- [nio-8080-exec-5] c.d.redisson.controller.TestController : ------------------->>>63没有库存了<<<------------------
2020-10-08 15:44:51.084 INFO 17776 --- [nio-8080-exec-4] c.d.redisson.controller.TestController : ------------------->>>62没有库存了<<<------------------
2020-10-08 15:44:51.087 INFO 17776 --- [nio-8080-exec-6] c.d.redisson.controller.TestController : ------------------->>>64没有库存了<<<------------------
2020-10-08 15:44:51.552 INFO 17776 --- [nio-8080-exec-8] c.d.redisson.controller.TestController : ------------------->>>66没有库存了<<<------------------
2020-10-08 15:44:51.556 INFO 17776 --- [io-8080-exec-10] c.d.redisson.controller.TestController : ------------------->>>68没有库存了<<<------------------
2020-10-08 15:44:51.561 INFO 17776 --- [nio-8080-exec-1] c.d.redisson.controller.TestController : ------------------->>>59没有库存了<<<------------------
2020-10-08 15:44:51.566 INFO 17776 --- [nio-8080-exec-9] c.d.redisson.controller.TestController : ------------------->>>67没有库存了<<<------------------
2020-10-08 15:44:51.572 INFO 17776 --- [nio-8080-exec-2] c.d.redisson.controller.TestController : ------------------->>>60没有库存了<<<------------------
2020-10-08 15:44:51.577 INFO 17776 --- [nio-8080-exec-3] c.d.redisson.controller.TestController : ------------------->>>61没有库存了<<<------------------
2020-10-08 15:44:51.582 INFO 17776 --- [nio-8080-exec-5] c.d.redisson.controller.TestController : ------------------->>>63没有库存了<<<------------------
2020-10-08 15:44:51.588 INFO 17776 --- [nio-8080-exec-4] c.d.redisson.controller.TestController : ------------------->>>62没有库存了<<<------------------
2020-10-08 15:44:51.592 INFO 17776 --- [nio-8080-exec-6] c.d.redisson.controller.TestController : ------------------->>>64没有库存了<<<------------------
2020-10-08 15:44:51.598 INFO 17776 --- [nio-8080-exec-7] c.d.redisson.controller.TestController : ------------------->>>65没有库存了<<<------------------
2020-10-08 15:44:52.051 INFO 17776 --- [io-8080-exec-10] c.d.redisson.controller.TestController : ------------------->>>68没有库存了<<<------------------
2020-10-08 15:44:52.056 INFO 17776 --- [nio-8080-exec-1] c.d.redisson.controller.TestController : ------------------->>>59没有库存了<<<------------------
2020-10-08 15:44:52.061 INFO 17776 --- [nio-8080-exec-9] c.d.redisson.controller.TestController : ------------------->>>67没有库存了<<<------------------
2020-10-08 15:44:52.065 INFO 17776 --- [nio-8080-exec-2] c.d.redisson.controller.TestController : ------------------->>>60没有库存了<<<------------------
2020-10-08 15:44:52.070 INFO 17776 --- [nio-8080-exec-3] c.d.redisson.controller.TestController : ------------------->>>61没有库存了<<<------------------
2020-10-08 15:44:52.073 INFO 17776 --- [nio-8080-exec-5] c.d.redisson.controller.TestController : ------------------->>>63没有库存了<<<------------------
2020-10-08 15:44:52.077 INFO 17776 --- [nio-8080-exec-4] c.d.redisson.controller.TestController : ------------------->>>62没有库存了<<<------------------
2020-10-08 15:44:52.081 INFO 17776 --- [nio-8080-exec-6] c.d.redisson.controller.TestController : ------------------->>>64没有库存了<<<------------------
2020-10-08 15:44:52.087 INFO 17776 --- [nio-8080-exec-7] c.d.redisson.controller.TestController : ------------------->>>65没有库存了<<<------------------
2020-10-08 15:44:52.090 INFO 17776 --- [nio-8080-exec-8] c.d.redisson.controller.TestController : ------------------->>>66没有库存了<<<------------------
8081执行结果
2020-10-08 15:44:46.166 ERROR 19304 --- [nio-8081-exec-2] c.d.redisson.controller.TestController : 抢到库存还是剩:100
2020-10-08 15:44:46.212 ERROR 19304 --- [io-8081-exec-10] c.d.redisson.controller.TestController : 抢到库存还是剩:99
2020-10-08 15:44:46.236 ERROR 19304 --- [nio-8081-exec-3] c.d.redisson.controller.TestController : 抢到库存还是剩:98
2020-10-08 15:44:46.260 ERROR 19304 --- [nio-8081-exec-4] c.d.redisson.controller.TestController : 抢到库存还是剩:97
2020-10-08 15:44:46.287 ERROR 19304 --- [nio-8081-exec-5] c.d.redisson.controller.TestController : 抢到库存还是剩:96
2020-10-08 15:44:46.309 ERROR 19304 --- [nio-8081-exec-6] c.d.redisson.controller.TestController : 抢到库存还是剩:95
2020-10-08 15:44:46.335 ERROR 19304 --- [nio-8081-exec-7] c.d.redisson.controller.TestController : 抢到库存还是剩:94
2020-10-08 15:44:46.360 ERROR 19304 --- [nio-8081-exec-8] c.d.redisson.controller.TestController : 抢到库存还是剩:93
2020-10-08 15:44:46.386 ERROR 19304 --- [nio-8081-exec-9] c.d.redisson.controller.TestController : 抢到库存还是剩:92
2020-10-08 15:44:46.410 ERROR 19304 --- [nio-8081-exec-1] c.d.redisson.controller.TestController : 抢到库存还是剩:91
2020-10-08 15:44:46.655 ERROR 19304 --- [io-8081-exec-10] c.d.redisson.controller.TestController : 抢到库存还是剩:90
2020-10-08 15:44:46.743 ERROR 19304 --- [nio-8081-exec-3] c.d.redisson.controller.TestController : 抢到库存还是剩:89
2020-10-08 15:44:46.770 ERROR 19304 --- [nio-8081-exec-4] c.d.redisson.controller.TestController : 抢到库存还是剩:88
2020-10-08 15:44:46.793 ERROR 19304 --- [nio-8081-exec-5] c.d.redisson.controller.TestController : 抢到库存还是剩:87
2020-10-08 15:44:46.818 ERROR 19304 --- [nio-8081-exec-6] c.d.redisson.controller.TestController : 抢到库存还是剩:86
2020-10-08 15:44:46.844 ERROR 19304 --- [nio-8081-exec-7] c.d.redisson.controller.TestController : 抢到库存还是剩:85
2020-10-08 15:44:46.868 ERROR 19304 --- [nio-8081-exec-8] c.d.redisson.controller.TestController : 抢到库存还是剩:84
2020-10-08 15:44:46.895 ERROR 19304 --- [nio-8081-exec-9] c.d.redisson.controller.TestController : 抢到库存还是剩:83
2020-10-08 15:44:46.918 ERROR 19304 --- [nio-8081-exec-1] c.d.redisson.controller.TestController : 抢到库存还是剩:82
2020-10-08 15:44:46.944 ERROR 19304 --- [nio-8081-exec-2] c.d.redisson.controller.TestController : 抢到库存还是剩:81
2020-10-08 15:44:47.155 ERROR 19304 --- [nio-8081-exec-3] c.d.redisson.controller.TestController : 抢到库存还是剩:80
2020-10-08 15:44:47.178 ERROR 19304 --- [nio-8081-exec-4] c.d.redisson.controller.TestController : 抢到库存还是剩:79
2020-10-08 15:44:47.201 ERROR 19304 --- [nio-8081-exec-5] c.d.redisson.controller.TestController : 抢到库存还是剩:78
2020-10-08 15:44:47.226 ERROR 19304 --- [nio-8081-exec-6] c.d.redisson.controller.TestController : 抢到库存还是剩:77
2020-10-08 15:44:47.251 ERROR 19304 --- [nio-8081-exec-7] c.d.redisson.controller.TestController : 抢到库存还是剩:76
2020-10-08 15:44:47.276 ERROR 19304 --- [nio-8081-exec-8] c.d.redisson.controller.TestController : 抢到库存还是剩:75
2020-10-08 15:44:47.302 ERROR 19304 --- [nio-8081-exec-9] c.d.redisson.controller.TestController : 抢到库存还是剩:74
2020-10-08 15:44:47.330 ERROR 19304 --- [nio-8081-exec-1] c.d.redisson.controller.TestController : 抢到库存还是剩:73
2020-10-08 15:44:47.352 ERROR 19304 --- [nio-8081-exec-2] c.d.redisson.controller.TestController : 抢到库存还是剩:72
2020-10-08 15:44:47.378 ERROR 19304 --- [io-8081-exec-10] c.d.redisson.controller.TestController : 抢到库存还是剩:71
2020-10-08 15:44:47.667 ERROR 19304 --- [nio-8081-exec-4] c.d.redisson.controller.TestController : 抢到库存还是剩:66
2020-10-08 15:44:47.726 ERROR 19304 --- [nio-8081-exec-5] c.d.redisson.controller.TestController : 抢到库存还是剩:64
2020-10-08 15:44:47.776 ERROR 19304 --- [nio-8081-exec-6] c.d.redisson.controller.TestController : 抢到库存还是剩:62
2020-10-08 15:44:47.809 ERROR 19304 --- [nio-8081-exec-7] c.d.redisson.controller.TestController : 抢到库存还是剩:60
2020-10-08 15:44:47.859 ERROR 19304 --- [nio-8081-exec-8] c.d.redisson.controller.TestController : 抢到库存还是剩:58
2020-10-08 15:44:47.909 ERROR 19304 --- [nio-8081-exec-9] c.d.redisson.controller.TestController : 抢到库存还是剩:56
2020-10-08 15:44:47.959 ERROR 19304 --- [nio-8081-exec-1] c.d.redisson.controller.TestController : 抢到库存还是剩:54
2020-10-08 15:44:47.986 ERROR 19304 --- [nio-8081-exec-2] c.d.redisson.controller.TestController : 抢到库存还是剩:53
2020-10-08 15:44:48.011 ERROR 19304 --- [io-8081-exec-10] c.d.redisson.controller.TestController : 抢到库存还是剩:52
2020-10-08 15:44:48.037 ERROR 19304 --- [nio-8081-exec-3] c.d.redisson.controller.TestController : 抢到库存还是剩:51
2020-10-08 15:44:48.159 ERROR 19304 --- [nio-8081-exec-5] c.d.redisson.controller.TestController : 抢到库存还是剩:46
2020-10-08 15:44:48.201 ERROR 19304 --- [nio-8081-exec-6] c.d.redisson.controller.TestController : 抢到库存还是剩:44
2020-10-08 15:44:48.251 ERROR 19304 --- [nio-8081-exec-7] c.d.redisson.controller.TestController : 抢到库存还是剩:42
2020-10-08 15:44:48.293 ERROR 19304 --- [nio-8081-exec-8] c.d.redisson.controller.TestController : 抢到库存还是剩:40
2020-10-08 15:44:48.352 ERROR 19304 --- [nio-8081-exec-9] c.d.redisson.controller.TestController : 抢到库存还是剩:38
2020-10-08 15:44:48.476 ERROR 19304 --- [nio-8081-exec-1] c.d.redisson.controller.TestController : 抢到库存还是剩:36
2020-10-08 15:44:48.517 ERROR 19304 --- [nio-8081-exec-2] c.d.redisson.controller.TestController : 抢到库存还是剩:34
2020-10-08 15:44:48.543 ERROR 19304 --- [io-8081-exec-10] c.d.redisson.controller.TestController : 抢到库存还是剩:33
2020-10-08 15:44:48.594 ERROR 19304 --- [nio-8081-exec-3] c.d.redisson.controller.TestController : 抢到库存还是剩:31
2020-10-08 15:44:48.649 ERROR 19304 --- [nio-8081-exec-4] c.d.redisson.controller.TestController : 抢到库存还是剩:29
2020-10-08 15:44:48.724 ERROR 19304 --- [nio-8081-exec-5] c.d.redisson.controller.TestController : 抢到库存还是剩:27
2020-10-08 15:44:48.843 ERROR 19304 --- [nio-8081-exec-7] c.d.redisson.controller.TestController : 抢到库存还是剩:25
2020-10-08 15:44:48.893 ERROR 19304 --- [nio-8081-exec-8] c.d.redisson.controller.TestController : 抢到库存还是剩:23
2020-10-08 15:44:48.935 ERROR 19304 --- [nio-8081-exec-9] c.d.redisson.controller.TestController : 抢到库存还是剩:21
2020-10-08 15:44:48.984 ERROR 19304 --- [nio-8081-exec-1] c.d.redisson.controller.TestController : 抢到库存还是剩:19
2020-10-08 15:44:49.035 ERROR 19304 --- [nio-8081-exec-2] c.d.redisson.controller.TestController : 抢到库存还是剩:17
2020-10-08 15:44:49.176 ERROR 19304 --- [io-8081-exec-10] c.d.redisson.controller.TestController : 抢到库存还是剩:11
2020-10-08 15:44:49.201 ERROR 19304 --- [nio-8081-exec-3] c.d.redisson.controller.TestController : 抢到库存还是剩:10
2020-10-08 15:44:49.226 ERROR 19304 --- [nio-8081-exec-4] c.d.redisson.controller.TestController : 抢到库存还是剩:9
2020-10-08 15:44:49.243 ERROR 19304 --- [nio-8081-exec-6] c.d.redisson.controller.TestController : 抢到库存还是剩:8
2020-10-08 15:44:49.279 ERROR 19304 --- [nio-8081-exec-5] c.d.redisson.controller.TestController : 抢到库存还是剩:7
2020-10-08 15:44:49.325 ERROR 19304 --- [nio-8081-exec-6] c.d.redisson.controller.TestController : 抢到库存还是剩:5
2020-10-08 15:44:49.342 ERROR 19304 --- [nio-8081-exec-7] c.d.redisson.controller.TestController : 抢到库存还是剩:4
2020-10-08 15:44:49.367 ERROR 19304 --- [nio-8081-exec-8] c.d.redisson.controller.TestController : 抢到库存还是剩:3
2020-10-08 15:44:49.426 ERROR 19304 --- [nio-8081-exec-1] c.d.redisson.controller.TestController : 抢到库存还是剩:1
2020-10-08 15:44:49.455 INFO 19304 --- [nio-8081-exec-2] c.d.redisson.controller.TestController : ------------------->>>60没有库存了<<<------------------
2020-10-08 15:44:49.461 INFO 19304 --- [io-8081-exec-10] c.d.redisson.controller.TestController : ------------------->>>68没有库存了<<<------------------
2020-10-08 15:44:49.467 INFO 19304 --- [nio-8081-exec-3] c.d.redisson.controller.TestController : ------------------->>>61没有库存了<<<------------------
2020-10-08 15:44:49.471 INFO 19304 --- [nio-8081-exec-4] c.d.redisson.controller.TestController : ------------------->>>62没有库存了<<<------------------
2020-10-08 15:44:49.476 INFO 19304 --- [nio-8081-exec-5] c.d.redisson.controller.TestController : ------------------->>>63没有库存了<<<------------------
2020-10-08 15:44:49.656 INFO 19304 --- [nio-8081-exec-7] c.d.redisson.controller.TestController : ------------------->>>65没有库存了<<<------------------
2020-10-08 15:44:49.661 INFO 19304 --- [nio-8081-exec-9] c.d.redisson.controller.TestController : ------------------->>>67没有库存了<<<------------------
2020-10-08 15:44:49.666 INFO 19304 --- [nio-8081-exec-8] c.d.redisson.controller.TestController : ------------------->>>66没有库存了<<<------------------
2020-10-08 15:44:49.672 INFO 19304 --- [nio-8081-exec-1] c.d.redisson.controller.TestController : ------------------->>>59没有库存了<<<------------------
2020-10-08 15:44:49.676 INFO 19304 --- [nio-8081-exec-2] c.d.redisson.controller.TestController : ------------------->>>60没有库存了<<<------------------
2020-10-08 15:44:49.682 INFO 19304 --- [io-8081-exec-10] c.d.redisson.controller.TestController : ------------------->>>68没有库存了<<<------------------
2020-10-08 15:44:49.687 INFO 19304 --- [nio-8081-exec-3] c.d.redisson.controller.TestController : ------------------->>>61没有库存了<<<------------------
2020-10-08 15:44:49.692 INFO 19304 --- [nio-8081-exec-4] c.d.redisson.controller.TestController : ------------------->>>62没有库存了<<<------------------
2020-10-08 15:44:49.697 INFO 19304 --- [nio-8081-exec-5] c.d.redisson.controller.TestController : ------------------->>>63没有库存了<<<------------------
2020-10-08 15:44:49.703 INFO 19304 --- [nio-8081-exec-6] c.d.redisson.controller.TestController : ------------------->>>64没有库存了<<<------------------
2020-10-08 15:44:50.156 INFO 19304 --- [nio-8081-exec-9] c.d.redisson.controller.TestController : ------------------->>>67没有库存了<<<------------------
2020-10-08 15:44:50.159 INFO 19304 --- [nio-8081-exec-8] c.d.redisson.controller.TestController : ------------------->>>66没有库存了<<<------------------
2020-10-08 15:44:50.164 INFO 19304 --- [nio-8081-exec-1] c.d.redisson.controller.TestController : ------------------->>>59没有库存了<<<------------------
2020-10-08 15:44:50.168 INFO 19304 --- [nio-8081-exec-2] c.d.redisson.controller.TestController : ------------------->>>60没有库存了<<<------------------
2020-10-08 15:44:50.173 INFO 19304 --- [io-8081-exec-10] c.d.redisson.controller.TestController : ------------------->>>68没有库存了<<<------------------
2020-10-08 15:44:50.177 INFO 19304 --- [nio-8081-exec-3] c.d.redisson.controller.TestController : ------------------->>>61没有库存了<<<------------------
2020-10-08 15:44:50.181 INFO 19304 --- [nio-8081-exec-4] c.d.redisson.controller.TestController : ------------------->>>62没有库存了<<<------------------
2020-10-08 15:44:50.185 INFO 19304 --- [nio-8081-exec-5] c.d.redisson.controller.TestController : ------------------->>>63没有库存了<<<------------------
2020-10-08 15:44:50.189 INFO 19304 --- [nio-8081-exec-6] c.d.redisson.controller.TestController : ------------------->>>64没有库存了<<<------------------
2020-10-08 15:44:50.193 INFO 19304 --- [nio-8081-exec-7] c.d.redisson.controller.TestController : ------------------->>>65没有库存了<<<------------------
2020-10-08 15:44:50.664 INFO 19304 --- [nio-8081-exec-8] c.d.redisson.controller.TestController : ------------------->>>66没有库存了<<<------------------
2020-10-08 15:44:50.673 INFO 19304 --- [nio-8081-exec-1] c.d.redisson.controller.TestController : ------------------->>>59没有库存了<<<------------------
2020-10-08 15:44:50.678 INFO 19304 --- [nio-8081-exec-2] c.d.redisson.controller.TestController : ------------------->>>60没有库存了<<<------------------
2020-10-08 15:44:50.683 INFO 19304 --- [io-8081-exec-10] c.d.redisson.controller.TestController : ------------------->>>68没有库存了<<<------------------
2020-10-08 15:44:50.687 INFO 19304 --- [nio-8081-exec-3] c.d.redisson.controller.TestController : ------------------->>>61没有库存了<<<------------------
2020-10-08 15:44:50.691 INFO 19304 --- [nio-8081-exec-4] c.d.redisson.controller.TestController : ------------------->>>62没有库存了<<<------------------
2020-10-08 15:44:50.696 INFO 19304 --- [nio-8081-exec-5] c.d.redisson.controller.TestController : ------------------->>>63没有库存了<<<------------------
2020-10-08 15:44:50.701 INFO 19304 --- [nio-8081-exec-6] c.d.redisson.controller.TestController : ------------------->>>64没有库存了<<<------------------
2020-10-08 15:44:50.706 INFO 19304 --- [nio-8081-exec-7] c.d.redisson.controller.TestController : ------------------->>>65没有库存了<<<------------------
2020-10-08 15:44:50.711 INFO 19304 --- [nio-8081-exec-9] c.d.redisson.controller.TestController : ------------------->>>67没有库存了<<<------------------
8.总结
可以看到在分布式环境正常执行下单任务。没有产生重复消费和过渡消费