1:删除一下业务0x421,0x422

action:1057:64;1058:64;
#0x421	IP限流 20180824虎哥群里面发的需要删除这个业务
1057=10:LIMIT_COMPILE;11:LIMIT_GROUP;12:LIMIT_IP;14:APP_SUBSCRIBE_ID;18:NTC_IP_RANGE
#0x422	域名限流20180824虎哥群里面发的需要删除这个业务
1058=10:LIMIT_COMPILE;11:LIMIT_GROUP;14:LIMIT_DOMAIN,APP_SUBSCRIBE_ID;18:NTC_IP_RANGE
1057:ipRegion@ACTION&SERVICE&USER_REGION;1058:strRegion@ACTION&SERVICE&USER_REGION;


2:扩展编译,分组,域等对应关系,以支持分组复用业务的下发和取消
3:修改#0x208(520)表PXY_OBJ_KEYRING中crl字段为字符串类型
This commit is contained in:
RenKaiGe-Office
2018-08-24 15:12:29 +08:00
13 changed files with 1679 additions and 336 deletions

View File

@@ -26,8 +26,9 @@ public class ServiceAndRDBIndexReal {
private static Logger logger = LoggerFactory.getLogger(ServiceAndRDBIndexReal.class);
/**
* 记录哪些service可以被分组复用(只有maat类配置可以被分组复用)
* Map<Service,Map<regionName,List<tableName>>
*/
private static Set<Integer> serviceRepeatedRealSet = new HashSet<Integer>();
private static Map<Integer,Map<String, List<String>>> serviceGroupReuseMap = new HashMap<Integer, Map<String,List<String>>>();
/**
* 第一个key是业务类型,第二个key是type(编译配置,分组配置,域配置)value是表名
@@ -64,35 +65,26 @@ public class ServiceAndRDBIndexReal {
if (unMaatService != null && !unMaatService.trim().equals("")) {
String[] split = unMaatService.split(";");
for (String str : split) {
// 回调类删除action zdx20180821
// String[] serviceAction = str.split(":");
// serviceActionMap.put(Integer.valueOf(serviceAction[0]),
// Integer.valueOf(serviceAction[1]));
//
// String serviceType = Configurations.getStringProperty(serviceAction[0], "");
// if (serviceType != null && !serviceType.trim().equals("")) {
// String[] typeArrs = serviceType.split(";");
// for (String typeStr : typeArrs) {
// String[] typeArr = typeStr.split(":");
// String tableNameArr[] = typeArr[1].split(",");
// for (String tableName : tableNameArr) {
// unMaatSercieNameMap.put(Integer.parseInt(serviceAction[0]),
// tableName.toUpperCase());
// }
// }
// }
String serviceType = Configurations.getStringProperty(str, "");
if (serviceType != null && !serviceType.trim().equals("")) {
String[] typeArrs = serviceType.split(";");
for (String typeStr : typeArrs) {
String[] typeArr = typeStr.split(":");
String tableNameArr[] = typeArr[1].split(",");
for (String tableName : tableNameArr) {
unMaatSercieNameMap.put(Integer.parseInt(str), tableName.toUpperCase());
}
}
}
String[] serviceAction = str.split(":");
if (serviceAction.length==2) {
serviceActionMap.put(Integer.valueOf(serviceAction[0]),
Integer.valueOf(serviceAction[1]));
}else{
serviceActionMap.put(Integer.valueOf(serviceAction[0]),
null);
}
String serviceType = Configurations.getStringProperty(serviceAction[0], "");
if (serviceType != null && !serviceType.trim().equals("")) {
String[] typeArrs = serviceType.split(";");
for (String typeStr : typeArrs) {
String[] typeArr = typeStr.split(":");
String tableNameArr[] = typeArr[1].split(",");
for (String tableName : tableNameArr) {
unMaatSercieNameMap.put(Integer.parseInt(serviceAction[0]),
tableName.toUpperCase());
}
}
}
}
}
@@ -165,13 +157,27 @@ public class ServiceAndRDBIndexReal {
}
String serviceRepeatedReal = Configurations.getStringProperty("serviceRepeatedReal", "");
if (serviceRepeatedReal != null && !serviceRepeatedReal.trim().equals("")) {
String[] serviceRepeatedRealArr = serviceRepeatedReal.split(",");
for (String ser : serviceRepeatedRealArr) {
if (ser != null && !ser.trim().equals("")) {
serviceRepeatedRealSet.add(Integer.parseInt(ser));
if (!StringUtil.isEmpty(serviceRepeatedReal)) {
String[] serviceRepeatedRealArr = serviceRepeatedReal.split(";");
for (String serviceRepeated : serviceRepeatedRealArr) {
String [] serInfos = serviceRepeated.split(":");
String [] regionInfos = serInfos[1].split("[|]");
for (String regionInfo : regionInfos) {
String [] regionTabName = regionInfo.split("@");
String [] tableNames = regionTabName[1].split(",");
for (String tableName : tableNames) {
Integer ser = Integer.valueOf(serInfos[0]);
if(serviceGroupReuseMap.containsKey(ser)){
serviceGroupReuseMap.get(ser).get(regionTabName[0]).add(tableName);
}else{
Map<String,List<String>> regTabMap = new HashMap<String, List<String>>();
List<String> tabList = new ArrayList<String>();
tabList.add(tableName);
regTabMap.put(regionTabName[0], tabList);
serviceGroupReuseMap.put(ser, regTabMap);
}
}
}
}
}
}
@@ -325,12 +331,12 @@ public class ServiceAndRDBIndexReal {
* @param service
* @return
*/
public static Boolean serviceIsRepeated(Integer service) {
public static Boolean serviceIsReuse(Integer service) {
if (service != null) {
return serviceRepeatedRealSet.contains(service);
return serviceGroupReuseMap.containsKey(service);
} else {
} throw new ServiceRuntimeException("判断service是否是分组复用时发生了异常,异常原因:service=null", RestBusinessCode.ServiceIsNull.getValue());
throw new ServiceRuntimeException("判断service是否是分组复用时发生了异常,异常原因:service=null", RestBusinessCode.ServiceIsNull.getValue());
}
}
/**
@@ -394,5 +400,12 @@ public class ServiceAndRDBIndexReal {
public static void setUnMaatSercieNameMap(Map<Integer, String> unMaatSercieNameMap) {
ServiceAndRDBIndexReal.unMaatSercieNameMap = unMaatSercieNameMap;
}
/**
* @return the serviceGroupReuseMap
*/
public static Map<String, List<String>> getServiceGroupReuseMap(Integer service) {
return serviceGroupReuseMap.get(service);
}
}