zoukankan      html  css  js  c++  java
  • zookeeper分布式锁

    package cn.zh.distributedlock.controller;
    
    import cn.zh.distributedlock.service.OrderService;
    import org.apache.curator.framework.CuratorFramework;
    import org.apache.curator.framework.recipes.locks.InterProcessMutex;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.web.bind.annotation.PostMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    public class TestController {
         @Autowired
        private OrderService orderService;
         @Value("${server.port}")
         private String port;
         @Autowired
         private CuratorFramework curatorFramework;
    
         @PostMapping("/stock/deduct")
         public Object reduceStock(Integer id) throws Exception {
             InterProcessMutex  interProcessMutex=new InterProcessMutex(curatorFramework,"/product_"+id);
             try {
                 interProcessMutex.acquire();
                 orderService.reduceStock(id);
             } catch (Exception e) {
                if(e instanceof  RuntimeException){
                    throw e;
                }
             }finally{
                 interProcessMutex.release();
             }
    
             return "ok:" + port;
    
         }
    
    }
  • 相关阅读:
    广度优先搜索(一)
    快速幂
    office 2013
    最著名的十大公式
    二分查找的上下界
    双关键字快速排序
    字符串操作
    分治算法练习(二)
    P3119 [USACO15JAN]草鉴定[SCC缩点+SPFA]
    P3225 [HNOI2012]矿场搭建[割点]
  • 原文地址:https://www.cnblogs.com/zouhong/p/15177887.html
Copyright © 2011-2022 走看看