写点什么

古董系统的并发安全改造

用户头像
hasWhere
关注
发布于: 2 小时前
古董系统的并发安全改造

背景描述:

以前维护的系统,由于前端没有对按钮进行多次操作进行屏蔽,可以可以多次点击。

后端服务,没有进行幂等性校验。


分析:

原系统采用 Java 开发、大多数都支持 SpringAop。由此前景,设计对原系统的改造。

考虑到管理系统对于并发没有太高的要求,考虑到使用 springAop 根据类+方法进行加锁,保证同一时刻该方法只能被一个线程调用。


对于个别有并发要求的接口,考虑增加注解的方式,可以关闭同步锁。


代码实现:

//TODO 定义阻塞队列public static Map<String,BlockQuque<String>> blockReqMap = new ConcurrentHashMap<String,BlockQuque<String>>();
//TODO 接收请求BlockQuque<String> bq = new LinkedBlockingDeque<String>();bq.put("流水号",bq);bq.poll(10000,TimeUtil.MILLSECONDS);
//TODO 异步线程blockReqMap.get("流水号").add("返回结果");
复制代码


用户头像

hasWhere

关注

间歇性努力的学习渣 2018.04.20 加入

通过博客来提高下对自己的要求

评论

发布
暂无评论
古董系统的并发安全改造