zoukankan      html  css  js  c++  java
  • 基于数据库悲观锁的分布式锁

    一、基于数据库悲观锁的分布式锁 

     代码

       

    package com.example.distributelock.controller;
    
    import com.example.distributelock.dao.DistributeLockMapper;
    import com.example.distributelock.model.DistributeLock;
    import com.example.distributelock.model.DistributeLockExample;
    import lombok.extern.slf4j.Slf4j;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.transaction.annotation.Transactional;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    import javax.annotation.Resource;
    import java.util.concurrent.locks.Lock;
    import java.util.concurrent.locks.ReentrantLock;
    
    @RestController
    @Slf4j
    public class DemoController {
        @Resource
        private DistributeLockMapper distributeLockMapper;
    
        @RequestMapping("singleLock")
        @Transactional(rollbackFor = Exception.class)
        public String singleLock() throws Exception {
            log.info("我进入了方法!");
            DistributeLock distributeLock = distributeLockMapper.selectDistributeLock("demo");
            if (distributeLock==null) throw new Exception("分布式锁找不到");
            log.info("我进入了锁!");
            try {
                Thread.sleep(20000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            return "我已经执行完成!";
        }
    }
    Controller
  • 相关阅读:
    第二周 历年学生作品评论
    第二周 WBS、NABCD查阅
    第二周 SCRUM站立会议
    第二周 燃尽图
    第二周 对读构建之法后提出的五个问题
    补上一周的进度条
    词频统计
    每周进度及工作量统计——第三周
    第三周 四人小组
    词频统计 效能分析
  • 原文地址:https://www.cnblogs.com/callbin/p/14580274.html
Copyright © 2011-2022 走看看