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;
    
         }
    
    }
  • 相关阅读:
    CSS3选择器
    在sublimen中整理CSS代码及其兼容性问题
    sublime 插件安装
    sublime 使用快捷键
    HTML5标签选择,图文混排使用dl dt dd
    HTML布局
    分页器
    Django ==> Form 组件
    Django ==> ModelAdmin
    前端 ==> Ajax
  • 原文地址:https://www.cnblogs.com/zouhong/p/15177887.html
Copyright © 2011-2022 走看看