当前位置: 首页 > news >正文

英铭网站建设国外外链平台

英铭网站建设,国外外链平台,wordpress获取所有标签,网站策划培训当一个业务执行时间超过自己设定的锁释放时间,那么会导致有其他线程进入,从而抢到同一个票,所有需要使用看门狗策略,其实就是开一个守护线程,让守护线程去监控key,如果到时间了还未结束,就会将这个key重新s…

当一个业务执行时间超过自己设定的锁释放时间,那么会导致有其他线程进入,从而抢到同一个票,所有需要使用看门狗策略,其实就是开一个守护线程,让守护线程去监控key,如果到时间了还未结束,就会将这个key重新set一次,重置到原来的时间,只要主线程未结束,守护线程就会一直存在,这里还是会有一些问题,就是如果redis宕机了,导致第一个线程拿到了锁,第二个线程也拿到了锁,为了解决这个就需要引入红锁

1. 导入依赖,这里导入依赖可能会和原先的redis依赖冲突,所以只能留下一个,不然可能会出错

去除spring-boot-starter-data-redis

  <!-- 集成Redis--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency>

添加redisson

            <dependency><groupId>org.redisson</groupId><artifactId>redisson-spring-boot-starter</artifactId><version>3.21.0</version></dependency>

2. 修改配置文件,将之前的配置缓存redisson的

spring:data:redis: # redis配置url: redis://:127.0.0.1:6379

3. 开始分布式锁-看门狗策略,找到高频访问的业务添加以下代码

在业务方法开始的头添加

在方法末尾添加释放锁,别忘了添加try-catch-finally块


这是一段完整的分布式处理,有需要直接copy后修改即可

  public void doConfirm(ConfirmOrderDoReq req) {String lockKey = DateUtil.formatDate(req.getDate()) + "-" + req.getTrainCode();RLock lock = null;try {lock = redissonClient.getLock(lockKey);boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS);if (tryLock) {LOG.info("抢到锁,开始处理订单");} else {LOG.info("很遗憾,没有抢到锁");//当前抢票人数多,请稍后再试throw new BusinessException(BusinessExceptionEnum.CONFIRM_ORDER_LOCK_FAIL);}//业务处理。。。。} catch (InterruptedException e) {LOG.error("抢票失败", e);throw new BusinessException(BusinessExceptionEnum.CONFIRM_ORDER_LOCK_FAIL);} finally {LOG.info("锁被释放了");// 释放锁if (lock != null && lock.isHeldByCurrentThread()){lock.unlock();}}}

http://www.yayakq.cn/news/141784/

相关文章:

  • vs c 网站开发网站流量提升
  • 网站建设相关推荐电子政务网站建设公司
  • 去年做哪个网站能致富网站开发是前端还是后端
  • 嵩明网站建设有没有专业做艺术品的网站
  • 遵义城乡建设网站活在永久免费服务器
  • 个人网站模块wordpress 教育
  • 外贸网站设计方案房山成都网站建设
  • 昌都市网站建设校园网页设计模板素材
  • 网站建设需放在哪个科目wordpress打造
  • 营销型网站建设ppt网站建设利弊
  • 旅游网站建设项目策划书注册公司需要什么条件才能开
  • 公司网站百度排名没有了长沙网站改版
  • 超链接到网站怎么做视频文件下载网站策划模版
  • 网站搭建策略与方法是什么中国菲律宾比分
  • 成都网站建设哪里有六安人论坛招聘求职
  • 百度网站抓取怎么制作一个网站内容
  • 网站建设目标怎么看wordpress stmp
  • 网站是什么新建网站如何调试
  • 优化网站的方法有哪些110平米三室一厅简装
  • wordpress固定链接怎么设置好淄博seo外包公司
  • 网站开发查询贵阳网站建设哪家好
  • 什么网站免费建设html网页制作方法
  • 做滤芯的网站江苏山海连云建设有限公司网站
  • 厦门广告公司电话网站优化师
  • 长春做网站优化的公司什么网站都有漏洞
  • 上海公司网站建设方案用织梦系统怎么做网站
  • vue.js做网站友情链接也称为
  • 怎样网站建设与管理网站开发的现状
  • 南充市建设局官方网站今天重大新闻头条新闻
  • 网站建设核心点品牌设计包括哪些要素