配置转换改为多线程转换,一个组类型一个线程;审核与更新组配置是查询配置下的所有域的查询改为多线程查询。在多个组的情况下处理速度会加快。
This commit is contained in:
@@ -10,6 +10,8 @@ import com.google.gson.reflect.TypeToken;
|
||||
import com.nis.domain.FunctionServiceDict;
|
||||
import com.nis.domain.basics.*;
|
||||
import com.nis.domain.configuration.*;
|
||||
import com.nis.web.service.configuration.ObjGroupCfgConvert;
|
||||
import com.nis.web.service.configuration.ObjectGroupService;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringEscapeUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
@@ -141,7 +143,7 @@ public class SchedulerTaskUtil {
|
||||
//查询子域配置详情
|
||||
if(cfgList!=null){
|
||||
if(isCommonGroup){
|
||||
groupIdSet=new HashSet<>();
|
||||
groupIdSet=Collections.synchronizedSet(new HashSet<Integer>());
|
||||
commGroupMap=ConfigConvertUtil.gsonFromJson(list.get(0).getCommonGroupIds(),Map.class);
|
||||
//将组中的域设置到cfg_index_info中
|
||||
covertCommongroupIdsMap(commGroupMap,"ipGroup",list.get(0),configSynchronizationDao,IpCommCfg.class);
|
||||
@@ -195,10 +197,10 @@ public class SchedulerTaskUtil {
|
||||
entity.setIsValid(isValid);//将最新的配置状态赋给配置对象
|
||||
entity.setAuditTime(updateTime);
|
||||
for(CfgIndexInfo cfg:list){
|
||||
groupRelationList = new ArrayList();
|
||||
ipRegionList = new ArrayList();
|
||||
strRegionList = new ArrayList();
|
||||
numRegionList = new ArrayList();
|
||||
groupRelationList = Collections.synchronizedList(new ArrayList());
|
||||
ipRegionList = Collections.synchronizedList(new ArrayList());
|
||||
strRegionList = Collections.synchronizedList(new ArrayList());
|
||||
numRegionList =Collections.synchronizedList(new ArrayList());
|
||||
digestRegionList = new ArrayList();
|
||||
areaIpRegionList = new ArrayList();
|
||||
if(StringUtils.isNotBlank(cfg.getCommonGroupIds())){//公共分组
|
||||
@@ -207,45 +209,82 @@ public class SchedulerTaskUtil {
|
||||
userRegion.append(ConfigConvertUtil.generateCommonGroupDefaultUserRegion(null,cfg.getServiceId()));
|
||||
//子配置
|
||||
Map<String,Object> maatTableMap=ConfigConvertUtil.convertCommonGroupMaatTable(cfg,cfgList);
|
||||
//多线程转换
|
||||
ObjGroupCfgConvert ipConvert=new ObjGroupCfgConvert("ipGroup",cfg,1,serviceDictMap,maatTableMap,groupIdSet);
|
||||
ipConvert.setGroupRelationList(groupRelationList);
|
||||
ipConvert.setIpRegionList(ipRegionList);
|
||||
ipConvert.setNumRegionList(numRegionList);
|
||||
ipConvert.setStrRegionList(strRegionList);
|
||||
ObjGroupCfgConvert subscribeIdConvert=new ObjGroupCfgConvert("subscribeIdGroup",cfg,1,serviceDictMap,maatTableMap,groupIdSet);
|
||||
subscribeIdConvert.setGroupRelationList(groupRelationList);
|
||||
subscribeIdConvert.setIpRegionList(ipRegionList);
|
||||
subscribeIdConvert.setNumRegionList(numRegionList);
|
||||
subscribeIdConvert.setStrRegionList(strRegionList);
|
||||
ObjGroupCfgConvert urlConvert=new ObjGroupCfgConvert("urlGroup",cfg,1,serviceDictMap,maatTableMap,groupIdSet);
|
||||
urlConvert.setGroupRelationList(groupRelationList);
|
||||
urlConvert.setIpRegionList(ipRegionList);
|
||||
urlConvert.setNumRegionList(numRegionList);
|
||||
urlConvert.setStrRegionList(strRegionList);
|
||||
ObjGroupCfgConvert domainConvert=new ObjGroupCfgConvert("domainGroup",cfg,1,serviceDictMap,maatTableMap,groupIdSet);
|
||||
domainConvert.setGroupRelationList(groupRelationList);
|
||||
domainConvert.setIpRegionList(ipRegionList);
|
||||
domainConvert.setNumRegionList(numRegionList);
|
||||
domainConvert.setStrRegionList(strRegionList);
|
||||
Thread t1=new Thread(ipConvert);
|
||||
Thread t2=new Thread(subscribeIdConvert);
|
||||
Thread t3=new Thread(urlConvert);
|
||||
Thread t4=new Thread(domainConvert);
|
||||
t1.start();
|
||||
t2.start();
|
||||
t3.start();
|
||||
t4.start();
|
||||
try {
|
||||
t1.join();
|
||||
t2.join();
|
||||
t3.join();
|
||||
t4.join();
|
||||
} catch (InterruptedException e) {
|
||||
logger.error("多线程join异常",e);
|
||||
}
|
||||
//IP公共分组
|
||||
if(CollectionUtils.isNotEmpty(cfg.getIpCommGroupCfgList())){
|
||||
IpPortCfg _cfg = new IpPortCfg();
|
||||
BeanUtils.copyProperties(cfg, _cfg, new String[]{"cfgId","menuNameCode"});
|
||||
Map<String,List> map = ConfigConvertUtil.objGroupCfgConvert(serviceDictMap,ipRegionList,cfg.getIpCommGroupCfgList(),1,_cfg,groupRelationList,maatTableMap,groupIdSet);
|
||||
groupRelationList=map.get("groupList");
|
||||
ipRegionList=map.get("dstList");
|
||||
if(map.get("numRegionList")!=null){
|
||||
numRegionList.addAll(map.get("numRegionList"));
|
||||
}
|
||||
|
||||
}
|
||||
// if(CollectionUtils.isNotEmpty(cfg.getIpCommGroupCfgList())){
|
||||
// IpPortCfg _cfg = new IpPortCfg();
|
||||
// BeanUtils.copyProperties(cfg, _cfg, new String[]{"cfgId","menuNameCode"});
|
||||
// Map<String,List> map = ConfigConvertUtil.objGroupCfgConvert(serviceDictMap,ipRegionList,cfg.getIpCommGroupCfgList(),1,_cfg,groupRelationList,maatTableMap,groupIdSet);
|
||||
// groupRelationList=map.get("groupList");
|
||||
// ipRegionList=map.get("dstList");
|
||||
// if(map.get("numRegionList")!=null){
|
||||
// numRegionList.addAll(map.get("numRegionList"));
|
||||
// }
|
||||
//
|
||||
// }
|
||||
//URL公共分组
|
||||
if(CollectionUtils.isNotEmpty(cfg.getUrlCommGroupList())){
|
||||
CommonStringCfg _cfg = new CommonStringCfg();
|
||||
BeanUtils.copyProperties(cfg, _cfg, new String[]{"cfgId","menuNameCode"});
|
||||
Map<String,List> map =ConfigConvertUtil.objGroupCfgConvert(serviceDictMap,strRegionList,cfg.getUrlCommGroupList(),2,_cfg,groupRelationList,maatTableMap,groupIdSet);
|
||||
groupRelationList=map.get("groupList");
|
||||
strRegionList=map.get("dstList");
|
||||
}
|
||||
// if(CollectionUtils.isNotEmpty(cfg.getUrlCommGroupList())){
|
||||
// CommonStringCfg _cfg = new CommonStringCfg();
|
||||
// BeanUtils.copyProperties(cfg, _cfg, new String[]{"cfgId","menuNameCode"});
|
||||
// Map<String,List> map =ConfigConvertUtil.objGroupCfgConvert(serviceDictMap,strRegionList,cfg.getUrlCommGroupList(),2,_cfg,groupRelationList,maatTableMap,groupIdSet);
|
||||
// groupRelationList=map.get("groupList");
|
||||
// strRegionList=map.get("dstList");
|
||||
// }
|
||||
//账号公共分组
|
||||
if(CollectionUtils.isNotEmpty(cfg.getScriberIdCommGroupList())){
|
||||
CommonStringCfg _cfg = new CommonStringCfg();
|
||||
BeanUtils.copyProperties(cfg, _cfg, new String[]{"cfgId","menuNameCode"});
|
||||
|
||||
Map<String,List> map =ConfigConvertUtil.objGroupCfgConvert(serviceDictMap,strRegionList,cfg.getScriberIdCommGroupList(),2,_cfg,groupRelationList,maatTableMap,groupIdSet);
|
||||
groupRelationList=map.get("groupList");
|
||||
strRegionList=map.get("dstList");
|
||||
|
||||
}
|
||||
// if(CollectionUtils.isNotEmpty(cfg.getScriberIdCommGroupList())){
|
||||
// CommonStringCfg _cfg = new CommonStringCfg();
|
||||
// BeanUtils.copyProperties(cfg, _cfg, new String[]{"cfgId","menuNameCode"});
|
||||
//
|
||||
// Map<String,List> map =ConfigConvertUtil.objGroupCfgConvert(serviceDictMap,strRegionList,cfg.getScriberIdCommGroupList(),2,_cfg,groupRelationList,maatTableMap,groupIdSet);
|
||||
// groupRelationList=map.get("groupList");
|
||||
// strRegionList=map.get("dstList");
|
||||
//
|
||||
// }
|
||||
//域名公共分组
|
||||
if(CollectionUtils.isNotEmpty(cfg.getDomainCommGroupList())){
|
||||
CommonStringCfg _cfg = new CommonStringCfg();
|
||||
BeanUtils.copyProperties(cfg, _cfg, new String[]{"cfgId","menuNameCode"});
|
||||
|
||||
Map<String,List> map =ConfigConvertUtil.objGroupCfgConvert(serviceDictMap,strRegionList,cfg.getDomainCommGroupList(),2,_cfg,groupRelationList,maatTableMap,groupIdSet);
|
||||
groupRelationList=map.get("groupList");
|
||||
strRegionList=map.get("dstList");
|
||||
}
|
||||
// if(CollectionUtils.isNotEmpty(cfg.getDomainCommGroupList())){
|
||||
// CommonStringCfg _cfg = new CommonStringCfg();
|
||||
// BeanUtils.copyProperties(cfg, _cfg, new String[]{"cfgId","menuNameCode"});
|
||||
//
|
||||
// Map<String,List> map =ConfigConvertUtil.objGroupCfgConvert(serviceDictMap,strRegionList,cfg.getDomainCommGroupList(),2,_cfg,groupRelationList,maatTableMap,groupIdSet);
|
||||
// groupRelationList=map.get("groupList");
|
||||
// strRegionList=map.get("dstList");
|
||||
// }
|
||||
BeanUtils.copyProperties(cfg, maatCfg);
|
||||
if(cfg.getServiceId().equals(512)){
|
||||
maatCfg.setAction(2);
|
||||
|
||||
Reference in New Issue
Block a user