Commit 8037c5a8 authored by tianyiming's avatar tianyiming

一码通添加单机redisson分布式锁

parent 3a476ecb
......@@ -16,24 +16,38 @@ public class RedissonManager {
//集群环境使用
@Value("${spring.redis.cluster.nodes}")
private String clusterNodes;
// @Value("${spring.redis.cluster.nodes}")
// private String clusterNodes;
//通用
@Value("${spring.redis.password}")
private String password;
//单机环境使用
@Value("${spring.redis.host}")
private String host;
//单机环境使用
@Value("${spring.redis.port}")
private String port;
@Bean
public RedissonClient redissonClient() {
log.info("clusterNodes{}",clusterNodes);
log.info("password{}",password);
//集群环境使用
// log.info("clusterNodes{}",clusterNodes);
// log.info("password{}",password);
//
// Config config = new Config();
// config.useClusterServers()
// .addNodeAddress(clusterNodes.split(","))
// .setPassword(password);
// return Redisson.create(config);
//单机打包使用
Config config = new Config();
config.useClusterServers()
.addNodeAddress(clusterNodes.split(","))
.setPassword(password);
config.useSingleServer().setAddress(host + ":" + port).setPassword(password);
return Redisson.create(config);
}
}
......@@ -1044,15 +1044,26 @@ public class EquipmentCategoryServiceImpl extends BaseService<EquipmentCategoryD
String supervisionCode = String.valueOf(superviseMap.get("supervisionCode"));
EquipmentCategoryServiceImpl categoryService = (EquipmentCategoryServiceImpl) AopContext.currentProxy();
//生成码
//集群模式使用
RLock lock = redissonClient.getLock(LOCK_KEY);
lock.lock(); // 获取锁
log.info("加锁成功");
codeMap = categoryService.creatCode(city, county, equCategory, code96333, supervisionCode);
log.info("生成码成功");
lock.unlock(); // 释放锁
log.info("释放锁");
log.info("已生成对应监管码或96333电梯识别码");
// lock.lock(); // 获取锁
// log.info("加锁成功");
// codeMap = categoryService.creatCode(city, county, equCategory, code96333, supervisionCode);
// log.info("生成码成功");
// lock.unlock(); // 释放锁
// log.info("释放锁");
// log.info("已生成对应监管码或96333电梯识别码");
//单机模式使用
boolean flag = false;
if (lock.tryLock(3, 100, TimeUnit.SECONDS)) {
codeMap = categoryService.creatCode(city, county, equCategory, code96333, supervisionCode);
log.info("已生成对应监管码或96333电梯识别码");
flag = true;
}
if(flag){
lock.unlock(); // 释放锁
log.info("释放锁");
}
//删除map中的冗余数据,添加对应监管码和96333码调用idx多表单页提交接口吧保存数据
map.remove("data");
supervisionMap.put("CODE96333", codeMap.get("code96333"));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment