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;
    
         }
    
    }
  • 相关阅读:
    程序员修炼之道阅读笔记1
    构建之法阅读笔记6
    构建之法阅读笔记5
    构建之法阅读笔记4
    构建之法阅读笔记3
    构建之法阅读笔记2
    关于搜狗输入法的评价
    找水王
    用户场景
    个人工作总结
  • 原文地址:https://www.cnblogs.com/zouhong/p/15177887.html
Copyright © 2011-2022 走看看