处理国际化文件频繁加载导致java.net.SocketException: Too many open files的问题

This commit is contained in:
zhangdongxu
2018-12-19 17:45:03 +08:00
parent 90fc989831
commit 0e6ba4a68c
14 changed files with 129 additions and 119 deletions

View File

@@ -423,7 +423,7 @@ public class IpMultiplexController extends CommonController {
Map<String, Class<?>> classMap=new HashMap<String, Class<?>>();
Map<String, List> dataMap=new HashMap<String, List>();
Map<String, String> noExportMap=new HashMap<String, String>();
Properties msgProp = getMsgProp();
/*//导出选中记录
* if(!StringUtil.isEmpty(ids)){
@@ -440,7 +440,6 @@ public class IpMultiplexController extends CommonController {
Page<BaseIpCfg> page = ipCfgService.findPage(pageInfo, entity);//
for (BaseIpCfg baseIp : page.getList()) {
if(StringUtil.isEmpty(baseIp.getGroupName())){
Properties msgProp = getMsgProp();
baseIp.setGroupName(msgProp.getProperty("default_group"));
}
}
@@ -469,7 +468,7 @@ public class IpMultiplexController extends CommonController {
Map<String, Class<?>> classMap=new HashMap<String, Class<?>>();
Map<String, List> dataMap=new HashMap<String, List>();
Map<String, String> noExportMap=new HashMap<String, String>();
Properties msgProp = getMsgProp();
/*//导出选中记录
* if(!StringUtil.isEmpty(ids)){
@@ -486,7 +485,6 @@ public class IpMultiplexController extends CommonController {
Page<BaseIpCfg> page = ipCfgService.findPage(pageInfo, entity);//
for (BaseIpCfg baseIp : page.getList()) {
if(StringUtil.isEmpty(baseIp.getGroupName())){
Properties msgProp = getMsgProp();
baseIp.setGroupName(msgProp.getProperty("default_group"));
}
}

View File

@@ -10,6 +10,7 @@ import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.UUID;
import javax.servlet.http.HttpServletRequest;
@@ -627,6 +628,7 @@ public class AvController extends BaseController {
Map map = new HashMap();
map.put("picFilePath", picFilePath);
try {
Properties msgProp = getMsgProp();
FileCopyUtils.copy(srcFile.getBytes(), uploadSrcFile);//保存源文件
if(validateAvDuration(uploadSrcFile)){
String shellName = Constants.VEDIO_TO_PICTURE_PROC;
@@ -660,7 +662,7 @@ public class AvController extends BaseController {
}else{
if(StringUtil.isEmpty(resObject.getString("message"))){
map.put("status", 0);
map.put("msg", getMsgProp().getProperty("call_external_procedures_failed", "Call external procedures failed"));
map.put("msg", msgProp.getProperty("call_external_procedures_failed", "Call external procedures failed"));
}else{
map.put("status", 0);
map.put("msg", resObject.getString("message"));
@@ -669,11 +671,11 @@ public class AvController extends BaseController {
}else{
map.put("status", 0);
map.put("msg", getMsgProp().getProperty("call_external_procedures_failed", "Call external procedures failed"));
map.put("msg", msgProp.getProperty("call_external_procedures_failed", "Call external procedures failed"));
}
}else{
map.put("status", 0);
map.put("msg", this.getMsgProp().get("exceeds_duration_limit"));
map.put("msg", msgProp.get("exceeds_duration_limit"));
}
} catch (IOException e) {

View File

@@ -300,54 +300,54 @@ public class IpController extends BaseController{
if(regionDict.getFunctionId().equals(5)){// IP Address
if(serviceDict.getAction().equals(64)){//ip限速
List<IpRateLimitTemplate> classList=new ArrayList<IpRateLimitTemplate>();
ExportExcel excel=new ExportExcel(serviceDict,regionDict,this.getMsgProp(),null, IpRateLimitTemplate.class, 2);
excel.setDataList(this.getMsgProp(),classList,null).
ExportExcel excel=new ExportExcel(serviceDict,regionDict,pro,null, IpRateLimitTemplate.class, 2);
excel.setDataList(pro,classList,null).
write(request,response, fileName).dispose();
}else{
List<IpAllTemplate> classList=new ArrayList<IpAllTemplate>();
ExportExcel excel=new ExportExcel(serviceDict,regionDict,this.getMsgProp(),null, IpAllTemplate.class, 2);
excel.setDataList(this.getMsgProp(),classList,null).
ExportExcel excel=new ExportExcel(serviceDict,regionDict,pro,null, IpAllTemplate.class, 2);
excel.setDataList(pro,classList,null).
write(request,response, fileName).dispose();
}
}else if(regionDict.getFunctionId().equals(212)){ //IP Payload
List<IpPayloadTemplate> classList=new ArrayList<IpPayloadTemplate>();
ExportExcel excel=new ExportExcel(serviceDict,regionDict,this.getMsgProp(),null, IpPayloadTemplate.class, 2);
excel.setDataList(this.getMsgProp(),classList,null).
ExportExcel excel=new ExportExcel(serviceDict,regionDict,pro,null, IpPayloadTemplate.class, 2);
excel.setDataList(pro,classList,null).
write(request,response, fileName).dispose();
}else if(regionDict.getFunctionId().equals(7)||regionDict.getFunctionId().equals(401)){ //Dns IPDNS FAKE IP
List<DnsIpTemplate> classList=new ArrayList<DnsIpTemplate>();
ExportExcel excel=new ExportExcel(serviceDict,regionDict,this.getMsgProp(),null, DnsIpTemplate.class, 2);
excel.setDataList(this.getMsgProp(),classList,null).
ExportExcel excel=new ExportExcel(serviceDict,regionDict,pro,null, DnsIpTemplate.class, 2);
excel.setDataList(pro,classList,null).
write(request,response, fileName).dispose();
}else if(regionDict.getFunctionId().equals(510) && "p2p_ip".equals(regionDict.getConfigServiceType())){ //P2p IP
List<P2pIpTemplate> classList=new ArrayList<P2pIpTemplate>();
ExportExcel excel=new ExportExcel(serviceDict,regionDict,this.getMsgProp(),null, P2pIpTemplate.class, 2);
excel.setDataList(this.getMsgProp(),classList,null).
ExportExcel excel=new ExportExcel(serviceDict,regionDict,pro,null, P2pIpTemplate.class, 2);
excel.setDataList(pro,classList,null).
write(request,response, fileName).dispose();
}else if(regionDict.getFunctionId().equals(600)){ //asnip
List<AsnIpTemplate> classList=new ArrayList<AsnIpTemplate>();
ExportExcel excel=new ExportExcel(serviceDict,regionDict,this.getMsgProp(),null, AsnIpTemplate.class, 2);
excel.setDataList(this.getMsgProp(),classList,null).
ExportExcel excel=new ExportExcel(serviceDict,regionDict,pro,null, AsnIpTemplate.class, 2);
excel.setDataList(pro,classList,null).
write(request,response, fileName).dispose();
}else if(regionDict.getFunctionId().equals(3)){ //ip whitelist
List<IpWhitelistTemplate> classList=new ArrayList<IpWhitelistTemplate>();
ExportExcel excel=new ExportExcel(serviceDict,regionDict,this.getMsgProp(),null, IpWhitelistTemplate.class, 2);
excel.setDataList(this.getMsgProp(),classList,null).
ExportExcel excel=new ExportExcel(serviceDict,regionDict,pro,null, IpWhitelistTemplate.class, 2);
excel.setDataList(pro,classList,null).
write(request,response, fileName).dispose();
}else if(regionDict.getFunctionId().equals(301)){ //ddos ip
List<DdosIpTemplate> classList=new ArrayList<DdosIpTemplate>();
ExportExcel excel=new ExportExcel(serviceDict,regionDict,this.getMsgProp(),null, DdosIpTemplate.class, 2);
excel.setDataList(this.getMsgProp(),classList,null).
ExportExcel excel=new ExportExcel(serviceDict,regionDict,pro,null, DdosIpTemplate.class, 2);
excel.setDataList(pro,classList,null).
write(request,response, fileName).dispose();
}else if(regionDict.getFunctionId().equals(633)){ //snat ip池
List<SnatTemplate> classList=new ArrayList<SnatTemplate>();
ExportExcel excel=new ExportExcel(serviceDict,regionDict,this.getMsgProp(),null, SnatTemplate.class, 2);
excel.setDataList(this.getMsgProp(),classList,null).
ExportExcel excel=new ExportExcel(serviceDict,regionDict,pro,null, SnatTemplate.class, 2);
excel.setDataList(pro,classList,null).
write(request,response, fileName).dispose();
}else{
List<IpAllTemplate> classList=new ArrayList<IpAllTemplate>();
ExportExcel excel=new ExportExcel(serviceDict,regionDict,this.getMsgProp(),null, IpAllTemplate.class, 2);
excel.setDataList(this.getMsgProp(),classList,null).
ExportExcel excel=new ExportExcel(serviceDict,regionDict,pro,null, IpAllTemplate.class, 2);
excel.setDataList(pro,classList,null).
write(request,response, fileName).dispose();
}
}
@@ -355,35 +355,35 @@ public class IpController extends BaseController{
if(regionDict.getRegionType().equals(2)){
if(regionDict.getFunctionId().equals(510) && "p2p_hash".equals(regionDict.getConfigServiceType())){ //P2p hash
List<P2pHashStringTemplate> classList=new ArrayList<P2pHashStringTemplate>();
ExportExcel excel=new ExportExcel(serviceDict,regionDict,this.getMsgProp(),null, P2pHashStringTemplate.class, 2);
excel.setDataList(this.getMsgProp(),classList,null).
ExportExcel excel=new ExportExcel(serviceDict,regionDict,pro,null, P2pHashStringTemplate.class, 2);
excel.setDataList(pro,classList,null).
write(request,response, fileName).dispose();
}else if(regionDict.getFunctionId().equals(403)) {//app domain
List<AppDomainTemplate> classList=new ArrayList<AppDomainTemplate>();
ExportExcel excel=new ExportExcel(serviceDict,regionDict,this.getMsgProp(),null, AppDomainTemplate.class, 2);
excel.setDataList(this.getMsgProp(),classList,null).
ExportExcel excel=new ExportExcel(serviceDict,regionDict,pro,null, AppDomainTemplate.class, 2);
excel.setDataList(pro,classList,null).
write(request,response, fileName).dispose();
}else if(regionDict.getFunctionId().equals(201)){// Domain Intercept
if(serviceDict.getAction().equals(1)){// 监测
List<DomainInterceptMonitTemplate> classList=new ArrayList<DomainInterceptMonitTemplate>();
ExportExcel excel=new ExportExcel(serviceDict,regionDict,this.getMsgProp(),null, DomainInterceptMonitTemplate.class, 2);
excel.setDataList(this.getMsgProp(),classList,null).
ExportExcel excel=new ExportExcel(serviceDict,regionDict,pro,null, DomainInterceptMonitTemplate.class, 2);
excel.setDataList(pro,classList,null).
write(request,response, fileName).dispose();
}else if(serviceDict.getAction().equals(64)){// 限速
List<DomainInterceptRateLimitTemplate> classList=new ArrayList<DomainInterceptRateLimitTemplate>();
ExportExcel excel=new ExportExcel(serviceDict,regionDict,this.getMsgProp(),null, DomainInterceptRateLimitTemplate.class, 2);
excel.setDataList(this.getMsgProp(),classList,null).
ExportExcel excel=new ExportExcel(serviceDict,regionDict,pro,null, DomainInterceptRateLimitTemplate.class, 2);
excel.setDataList(pro,classList,null).
write(request,response, fileName).dispose();
}else{// 白名单
List<DomainInterceptTemplate> classList=new ArrayList<DomainInterceptTemplate>();
ExportExcel excel=new ExportExcel(serviceDict,regionDict,this.getMsgProp(),null, DomainInterceptTemplate.class, 2);
excel.setDataList(this.getMsgProp(),classList,null).
ExportExcel excel=new ExportExcel(serviceDict,regionDict,pro,null, DomainInterceptTemplate.class, 2);
excel.setDataList(pro,classList,null).
write(request,response, fileName).dispose();
}
}else{
List<StringAllTemplate> classList=new ArrayList<StringAllTemplate>();
ExportExcel excel=new ExportExcel(serviceDict,regionDict,this.getMsgProp(),null, StringAllTemplate.class, 2);
excel.setDataList(this.getMsgProp(),classList,null).
ExportExcel excel=new ExportExcel(serviceDict,regionDict,pro,null, StringAllTemplate.class, 2);
excel.setDataList(pro,classList,null).
write(request,response, fileName).dispose();
}
@@ -392,21 +392,21 @@ public class IpController extends BaseController{
if(regionDict.getRegionType().equals(3)){
if(regionDict.getFunctionId().equals(7)){//DNS DISTRICT STRING
List<DnsComplexStringTemplate> classList=new ArrayList<DnsComplexStringTemplate>();
ExportExcel excel=new ExportExcel(serviceDict,regionDict,this.getMsgProp(),null, DnsComplexStringTemplate.class, 2);
excel.setDataList(this.getMsgProp(),classList,null).
ExportExcel excel=new ExportExcel(serviceDict,regionDict,pro,null, DnsComplexStringTemplate.class, 2);
excel.setDataList(pro,classList,null).
write(request,response, fileName).dispose();
}else{
List<ComplexStringAllTemplate> classList=new ArrayList<ComplexStringAllTemplate>();
ExportExcel excel=new ExportExcel(serviceDict,regionDict,this.getMsgProp(),null, ComplexStringAllTemplate.class, 2);
excel.setDataList(this.getMsgProp(),classList,null).
ExportExcel excel=new ExportExcel(serviceDict,regionDict,pro,null, ComplexStringAllTemplate.class, 2);
excel.setDataList(pro,classList,null).
write(request,response, fileName).dispose();
}
}
if(regionDict.getRegionType().equals(6)){
if(regionDict.getFunctionId().equals(400)){
List<DnsResStrategyTemplate> classList=new ArrayList<DnsResStrategyTemplate>();
ExportExcel excel=new ExportExcel(serviceDict,regionDict,this.getMsgProp(),null, DnsResStrategyTemplate.class, 2);
excel.setDataList(this.getMsgProp(),classList,null).
ExportExcel excel=new ExportExcel(serviceDict,regionDict,pro,null, DnsResStrategyTemplate.class, 2);
excel.setDataList(pro,classList,null).
write(request,response, fileName).dispose();
}
}

View File

@@ -759,7 +759,7 @@ public class WebsiteController extends BaseController{
Map<String, Class<?>> classMap=new HashMap<String, Class<?>>();
Map<String, List> dataMap=new HashMap<String, List>();
Map<String, String> noExportMap=new HashMap<String, String>();
Properties msgProp = getMsgProp();
List<CfgIndexInfo> ipLists=new ArrayList<CfgIndexInfo>();
//导出选中记录
if(!StringUtil.isEmpty(ids)){
@@ -774,7 +774,6 @@ public class WebsiteController extends BaseController{
}
for (int i = 0; i < ipLists.size(); i++) {
Properties msgProp = getMsgProp();
if(ipLists.get(i).getDnsStrategyId()!=null && ipLists.get(i).getDnsStrategyId()!=0){
List<DnsResStrategy> resStrategys=dnsResStrategyService.findDnsResStrategys(ipLists.get(i).getDnsStrategyId(), 1,1);
if(resStrategys!=null && resStrategys.size()>0){

View File

@@ -240,7 +240,7 @@ public class InterceptController extends CommonController{
Map<String, List> dataMap=new HashMap<String, List>();
Map<String, String> noExportMap=new HashMap<String, String>();
Map<String, String> replaceExportMap=new HashMap<String, String>();
Properties prop = getMsgProp();
List<CfgIndexInfo> ipLists=new ArrayList<CfgIndexInfo>();
//导出选中记录
if(!StringUtil.isEmpty(ids)){
@@ -263,7 +263,6 @@ public class InterceptController extends CommonController{
}
for (CfgIndexInfo str : ipLists) {
if(!StringUtil.isEmpty(str.getUserRegion5())){
Properties prop = getMsgProp();
String cs= DictUtils.getDictLabel("INTERCEPT_DOMAIN_INTENSITY", str.getUserRegion5());
str.setUserRegion5(prop.getProperty(cs));
}

View File

@@ -15,6 +15,7 @@ import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.UUID;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -103,22 +104,23 @@ public class PxyObjKeyringController extends BaseController {
File file = null;
boolean validFlag=true;
try {
Properties msgProp = this.getMsgProp();
boolean publicKeyFileflag=validCertFileContent(publicKeyFileI,"-incert");
boolean privateKeyFileflag=validCertFileContent(privateKeyFileI,"-inkey");
if(!publicKeyFileflag && !privateKeyFileflag){
addMessage(redirectAttributes,"error","save_failed");
logger.error(publicKeyFileI.getOriginalFilename()+" and "+privateKeyFileI.getOriginalFilename()+" file non certificate file format ");
throw new MultiPartNewException(
this.getMsgProp().getProperty("certificate_error")
msgProp.getProperty("certificate_error")
);
}else if(!publicKeyFileflag){
addMessage(redirectAttributes,"error","save_failed");
logger.error(publicKeyFileI.getOriginalFilename()+" file non public key file format ");
throw new MultiPartNewException(this.getMsgProp().getProperty("public_file_error"));
throw new MultiPartNewException(msgProp.getProperty("public_file_error"));
}else if(!privateKeyFileflag){
addMessage(redirectAttributes,"error","save_failed");
logger.error(privateKeyFileI.getOriginalFilename()+" file non private key file format ");
throw new MultiPartNewException(this.getMsgProp().getProperty("private_file_error"));
throw new MultiPartNewException(msgProp.getProperty("private_file_error"));
}
} catch (Exception e) {
validFlag=false;