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

怎样做支付网站工程公司管理软件

怎样做支付网站,工程公司管理软件,网站备案步骤,学网站开发有用么一#xff1a;业务锁 在代码业务逻辑加锁#xff0c;防止不同业务操作相同业务表导致数据错乱#xff0c;设置锁进行等待。这里锁使用的是ReentrantLock。详细的介绍可以参考#xff1a; https://blog.csdn.net/jerry11112/article/details/112375167 Slf4j public class…一业务锁 在代码业务逻辑加锁防止不同业务操作相同业务表导致数据错乱设置锁进行等待。这里锁使用的是ReentrantLock。详细的介绍可以参考 https://blog.csdn.net/jerry11112/article/details/112375167 Slf4j public class MyLock {private static ConcurrentHashMapLong, ReentrantLock reenTranLock new ConcurrentHashMap();/*** 业务加锁* param businessId 业务id* param lockCode 需要加锁的代码执行完后自动解锁* param timeOutSeconds 锁超时时间* return**/public static T T lockAndUnLock(Long businessId, SupplierT lockCode, long timeOutSeconds) {try {//可重入公平锁true-公平锁false-非公平锁ReentrantLock lock reenTranLock.putIfAbsent(businessId, new ReentrantLock(true));lock lock ! null ? lock : reenTranLock.get(businessId);//超时加锁单位秒boolean lockSuccess lock.tryLock(timeOutSeconds, TimeUnit.SECONDS);if (lockSuccess) {try {return lockCode.get();} catch (Exception ex) {throw ex;} finally {//解锁lock.unlock();}} else {throw new Exception(操作失败);}} catch (Exception ex) {if (ex instanceof IllegalStateException) {throw new IllegalStateException(ex.getMessage());}throw new RuntimeException(ex);}}/*** 加锁和解锁默认60S超时* param businessId 业务id* param lockCode 需要加锁的代码执行完后自动解锁* return**/public static T T lockAndUnLock(Long businessId, SupplierT lockCode) {return lockAndUnLock(businessId, lockCode, 60);}public static void main(String[] args) {Boolean a lockAndUnLock(1L, () - {String aaa 111111;return true;});System.out.println(a);} }二定时任务锁 当多个负载服务同时启用相同程序定时任务需加上分布式锁这里使用的是redis加锁。 Slf4j public class TaskTest {Autowiredprivate RedisTemplate redisTemplate;Scheduled(cron 0 0/10 * * * ?)public void task() {//redis key名称String redisKey test.concat(:).concat(this.getClass().getSimpleName()).concat(task);//加上redis锁适应分布式场景boolean setOk redisTemplate.opsForValue().setIfAbsent(redisKey, redisKey, 10, TimeUnit.SECONDS); //单位秒根据不同的业务处理自行设置大小时间if (!setOk) {log.info(redisKey 任务已执行);return;}try {//业务逻辑处理.....} catch (Exception ex) {log.error(定时任务异常, ex.getMessage());} finally {//手动解锁redisTemplate.delete(redisKey);}} }
http://www.w-s-a.com/news/469570/

相关文章:

  • 长葛网站建站电子商务网站是什么
  • 泉做网站的公司太原网站建设开发公司
  • wordpress菜单栏的函数调用迅速上排名网站优化
  • 网站深圳广西模板厂哪家价格低
  • 搜索网站显示网页无法访问最好的网站推广
  • 巴彦淖尔市百家姓网站建设搬瓦工暗转wordpress
  • 温州鹿城区企业网站搭建云虚拟机
  • 网站的开发方法php网站商城源码
  • 旅游找什么网站好维护公司网站建设
  • 长春市长春网站制作站优化杭州企业推广网站
  • 网站建设开发设计营销公司山东网信办抓好网站建设
  • 斗图在线制作网站搜索关键词优化
  • 大连 网站建设 有限公司十大erp系统
  • 网站后台建设软件网络营销公司招聘
  • 做网站销售电销好做吗网站开发毕业设计代做
  • 成都学网站建设费用帝国cms与wordpress
  • 如何刷网站排名品牌设计的英文
  • 富阳有没有做网站的房产局官网查询系统
  • 建设网站列表aliyun oss wordpress
  • 做PPT的辅助网站wordpress拖拽式主题
  • 商城网站源码seo兼职58
  • 汽车租赁网站的设计与实现全网营销推广哪家正规
  • 做网站时怎么取消鼠标悬停如何设计软件界面
  • 建德网站设计公司中国十大热门网站排名
  • 网站与新媒体建设测评方案163企业邮箱官网入口
  • 怎样做下载网站页面设计参评
  • 哈尔滨住建局网站首页设计制作过程
  • php投资理财企业网站模板网站呼叫中心 建设工期
  • 查数据的权威网站silverlight 做的网站
  • 网站开发外包网站贵阳网站建设 网站制作