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:
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user