处理国际化文件频繁加载导致java.net.SocketException: Too many open files的问题
This commit is contained in:
@@ -749,11 +749,13 @@ public class BaseController {
|
||||
try {
|
||||
String language = LocaleContextHolder.getLocale().getLanguage();
|
||||
if (language.equals("zh_cn") || language.equals("zh")) {
|
||||
msgProp.load(Configurations.class.getResourceAsStream("/messages/message_zh_CN.properties"));
|
||||
} else if (language.equals("ru")) {
|
||||
msgProp.load(Configurations.class.getResourceAsStream("/messages/message_ru.properties"));
|
||||
} else {
|
||||
msgProp.load(Configurations.class.getResourceAsStream("/messages/message_en.properties"));
|
||||
if (language.equals("zh_cn") || language.equals("zh")) {
|
||||
msgProp=Configurations.getMsgPropZh();
|
||||
} else if (language.equals("ru")) {
|
||||
msgProp=Configurations.getMsgPropRu();
|
||||
} else {
|
||||
msgProp=Configurations.getMsgPropEn();
|
||||
}
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
@@ -1918,57 +1920,58 @@ public class BaseController {
|
||||
* @param serviceDict
|
||||
*/
|
||||
public void loadTemplate(ImportBigExcel ei,FunctionRegionDict regionDict,FunctionServiceDict serviceDict) {
|
||||
Properties msgProp = this.getMsgProp();
|
||||
if (regionDict.getRegionType().equals(1)) {// IP
|
||||
if (regionDict.getFunctionId().equals(5)) {
|
||||
if (serviceDict!=null&&serviceDict.getAction().equals(64)) {
|
||||
ei.loadInitParams(IpRateLimitTemplate.class, this.getMsgProp(), regionDict, serviceDict);
|
||||
ei.loadInitParams(IpRateLimitTemplate.class, msgProp, regionDict, serviceDict);
|
||||
} else {
|
||||
ei.loadInitParams(IpAllTemplate.class, this.getMsgProp(), regionDict, serviceDict);
|
||||
ei.loadInitParams(IpAllTemplate.class, msgProp, regionDict, serviceDict);
|
||||
}
|
||||
} else if (regionDict.getFunctionId().equals(7)&&serviceDict!=null&&serviceDict.getAction().intValue()==16) {
|
||||
ei.loadInitParams(DnsIpTemplate.class, this.getMsgProp(), regionDict, serviceDict);
|
||||
ei.loadInitParams(DnsIpTemplate.class, msgProp, regionDict, serviceDict);
|
||||
}else if(regionDict.getFunctionId().equals(401)) {
|
||||
ei.loadInitParams(DnsIpTemplate.class, this.getMsgProp(), regionDict, serviceDict);
|
||||
ei.loadInitParams(DnsIpTemplate.class, msgProp, regionDict, serviceDict);
|
||||
}else if (regionDict.getFunctionId().equals(212)) {
|
||||
ei.loadInitParams(IpPayloadTemplate.class, this.getMsgProp(), regionDict, serviceDict);
|
||||
ei.loadInitParams(IpPayloadTemplate.class, msgProp, regionDict, serviceDict);
|
||||
} else if (regionDict.getFunctionId().equals(510)
|
||||
&& "p2p_ip".equals(regionDict.getConfigServiceType())) { // P2p IP
|
||||
ei.loadInitParams(P2pIpTemplate.class, this.getMsgProp(), regionDict, serviceDict);
|
||||
ei.loadInitParams(P2pIpTemplate.class, msgProp, regionDict, serviceDict);
|
||||
} else if (regionDict.getFunctionId().equals(600)) {// ASN IP
|
||||
ei.loadInitParams(AsnIpTemplate.class, this.getMsgProp(), regionDict, serviceDict);
|
||||
ei.loadInitParams(AsnIpTemplate.class, msgProp, regionDict, serviceDict);
|
||||
} else if (regionDict.getFunctionId().equals(301)) {// DDOS IP
|
||||
ei.loadInitParams(DdosIpTemplate.class, this.getMsgProp(), regionDict, serviceDict);
|
||||
ei.loadInitParams(DdosIpTemplate.class, msgProp, regionDict, serviceDict);
|
||||
} else {
|
||||
ei.loadInitParams(IpAllTemplate.class, this.getMsgProp(), regionDict, serviceDict);
|
||||
ei.loadInitParams(IpAllTemplate.class, msgProp, regionDict, serviceDict);
|
||||
}
|
||||
} else if (regionDict.getRegionType().equals(2)) {// 字符串类
|
||||
if (regionDict.getFunctionId().equals(510)
|
||||
&& "p2p_hash".equals(regionDict.getConfigServiceType())) { // P2p hash
|
||||
ei.loadInitParams(P2pHashStringTemplate.class, this.getMsgProp(), regionDict, serviceDict);
|
||||
ei.loadInitParams(P2pHashStringTemplate.class, msgProp, regionDict, serviceDict);
|
||||
}else if (regionDict.getFunctionId().equals(403)) {
|
||||
ei.loadInitParams(AppDomainTemplate.class, this.getMsgProp(), regionDict, serviceDict);
|
||||
ei.loadInitParams(AppDomainTemplate.class, msgProp, regionDict, serviceDict);
|
||||
} else if(regionDict.getFunctionId().equals(201)){// Domain Intercept
|
||||
if(serviceDict.getAction().equals(1)){// 监测
|
||||
ei.loadInitParams(DomainInterceptMonitTemplate.class, this.getMsgProp(), regionDict, serviceDict);
|
||||
ei.loadInitParams(DomainInterceptMonitTemplate.class, msgProp, regionDict, serviceDict);
|
||||
}else if(serviceDict.getAction().equals(64)){// 限速
|
||||
ei.loadInitParams(DomainInterceptRateLimitTemplate.class, this.getMsgProp(), regionDict, serviceDict);
|
||||
ei.loadInitParams(DomainInterceptRateLimitTemplate.class, msgProp, regionDict, serviceDict);
|
||||
}else{// 白名单
|
||||
ei.loadInitParams(DomainInterceptTemplate.class, this.getMsgProp(), regionDict, serviceDict);
|
||||
ei.loadInitParams(DomainInterceptTemplate.class, msgProp, regionDict, serviceDict);
|
||||
}
|
||||
} else {
|
||||
ei.loadInitParams(StringAllTemplate.class, this.getMsgProp(), regionDict, serviceDict);
|
||||
ei.loadInitParams(StringAllTemplate.class, msgProp, regionDict, serviceDict);
|
||||
}
|
||||
|
||||
} else if (regionDict.getRegionType().equals(3)) {// 增强字符串类
|
||||
if (regionDict.getFunctionId().equals(7)&&serviceDict!=null&&serviceDict.getAction().intValue()==16) {
|
||||
ei.loadInitParams(DnsComplexStringTemplate.class, this.getMsgProp(), regionDict, serviceDict);
|
||||
ei.loadInitParams(DnsComplexStringTemplate.class, msgProp, regionDict, serviceDict);
|
||||
} else {
|
||||
ei.loadInitParams(ComplexStringAllTemplate.class, this.getMsgProp(), regionDict, serviceDict);
|
||||
ei.loadInitParams(ComplexStringAllTemplate.class, msgProp, regionDict, serviceDict);
|
||||
}
|
||||
|
||||
}else if (regionDict.getRegionType().equals(6)) {// 回调类
|
||||
if (regionDict.getFunctionId().equals(400)) {
|
||||
ei.loadInitParams(DnsResStrategyTemplate.class, this.getMsgProp(), regionDict, serviceDict);
|
||||
ei.loadInitParams(DnsResStrategyTemplate.class, msgProp, regionDict, serviceDict);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user