//package org.jeecg.modules.cloud.lock;
|
//
|
//import lombok.extern.slf4j.Slf4j;
|
//import org.jeecg.boot.starter.lock.annotation.JLock;
|
//import org.jeecg.boot.starter.lock.client.RedissonLockClient;
|
//import org.jeecg.boot.starter.rabbitmq.client.RabbitMqClient;
|
//import org.jeecg.common.base.BaseMap;
|
//import org.jeecg.modules.cloud.constant.CloudConstant;
|
//import org.springframework.beans.factory.annotation.Autowired;
|
//import org.springframework.scheduling.annotation.Scheduled;
|
//import org.springframework.stereotype.Component;
|
//
|
//import java.util.Map;
|
//
|
///**
|
// * 分布式锁测试demo
|
// */
|
//@Slf4j
|
//@Component
|
//public class DemoLockTest {
|
// @Autowired
|
// RedissonLockClient redissonLock;
|
// @Autowired
|
// RabbitMqClient rabbitMqClient;
|
//
|
// /**
|
// * 测试分布式锁【注解方式】
|
// */
|
// @Scheduled(cron = "0/5 * * * * ?")
|
// @JLock(lockKey = CloudConstant.REDISSON_DEMO_LOCK_KEY1)
|
// public void execute() throws InterruptedException {
|
// // log.info("执行execute任务开始,休眠三秒");
|
// // Thread.sleep(3000);
|
// // System.out.println("=======================业务逻辑1=============================");
|
// // Map map = new BaseMap();
|
// // map.put("orderId", "BJ0001");
|
// // rabbitMqClient.sendMessage(CloudConstant.MQ_JEECG_PLACE_ORDER, map);
|
// // //延迟10秒发送
|
// // map.put("orderId", "NJ0002");
|
// // rabbitMqClient.sendMessage(CloudConstant.MQ_JEECG_PLACE_ORDER, map, 10000);
|
// // log.info("execute任务结束,休眠三秒");
|
// }
|
//
|
// public DemoLockTest() {
|
// }
|
//
|
// /**
|
// * 测试分布式锁【编码方式】
|
// */
|
// //@Scheduled(cron = "0/5 * * * * ?")
|
// public void execute2() throws InterruptedException {
|
// if (redissonLock.tryLock(CloudConstant.REDISSON_DEMO_LOCK_KEY2, -1, 6000)) {
|
// log.info("执行任务execute2开始,休眠十秒");
|
// Thread.sleep(10000);
|
// System.out.println("=======================业务逻辑2=============================");
|
// log.info("定时execute2结束,休眠十秒");
|
//
|
// redissonLock.unlock(CloudConstant.REDISSON_DEMO_LOCK_KEY2);
|
// } else {
|
// log.info("execute2获取锁失败");
|
// }
|
// }
|
//
|
//}
|