diff --git a/src/main/java/com/nis/web/service/configuration/ConfigSynchronizationService.java b/src/main/java/com/nis/web/service/configuration/ConfigSynchronizationService.java index 40667c966..ccfc1ff00 100644 --- a/src/main/java/com/nis/web/service/configuration/ConfigSynchronizationService.java +++ b/src/main/java/com/nis/web/service/configuration/ConfigSynchronizationService.java @@ -155,15 +155,16 @@ public class ConfigSynchronizationService extends BaseService{ Page page=new Page(request,response,Constants.MAAT_JSON_SEND_SIZE,"a"); handleCallbackData(className,page,entity,request,response,false); } - if(!isFinished && lastServiceTag){//如果业务没有配置数据,并且为最后一个业务,需要发送给服务接口一个结束标识 + //如果业务没有配置数据,并且为最后一个业务,需要发送给服务接口一个结束标识 + if(!isFinished && lastServiceTag){ String json = "{}"; - /*if("1".equals(serviceType)){ - json="{}"; - }else{ - json="[]"; - }*/ + //如果是所有业务全量同步需要发送一个service=-1的请求,有助于服务端删除分组复用配置 + if(StringUtil.isEmpty(serviceIdCondition)){ + entity.setServiceId(-1); + } + FileUtils.writeToFile("/home/ceiec/configSync/"+DateUtils.getDate("yyyy-MM-dd")+"/"+entity.getServiceId()+"_"+System.currentTimeMillis()+"(finish data).json", json, false); JSONObject result = ConfigServiceUtil.configSync(json,Integer.parseInt(serviceType),entity.getServiceId(),entity.getTableName(),"FINISHED"); - logger.info("全量下发响应信息:"+result.toString()); + logger.info("全量下发响应信息【finish】:"+result.toString()); } } long end = System.currentTimeMillis(); @@ -191,6 +192,7 @@ public class ConfigSynchronizationService extends BaseService{ boolean isUpdateCfg,String tableName) throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException{ boolean hasData = true; + int index=0; while(hasData){ entity.setPage(page); List list = Lists.newArrayList(); @@ -239,6 +241,14 @@ public class ConfigSynchronizationService extends BaseService{ hasData = false; } + //此业务无数据需同步,也许向服务端发送一个{}串 + if(index ==0 && StringUtil.isEmpty(list) && !isUpdateCfg){ + String json = "{}"; + FileUtils.writeToFile("/home/ceiec/configSync/"+DateUtils.getDate("yyyy-MM-dd")+"/"+entity.getServiceId()+"_"+System.currentTimeMillis()+"(m nodata).json", json, false); + JSONObject result = ConfigServiceUtil.configSync(json,1,entity.getServiceId(),entity.getTableName(),null); + logger.info("全量下发响应信息:"+result.toString()); + } + index++; } } /** @@ -1021,6 +1031,7 @@ public class ConfigSynchronizationService extends BaseService{ boolean isUpdateCfg) throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException{ boolean hasData = true; + int index=0; while(hasData){ entity.setPage(page); List list = configSynchronizationDao.getDdosIpCfgList(entity); @@ -1033,6 +1044,14 @@ public class ConfigSynchronizationService extends BaseService{ }else{ hasData = false; } + //此业务无数据需同步,也许向服务端发送一个{}串 + if(index ==0 && StringUtil.isEmpty(list) && !isUpdateCfg){ + String json = "{}"; + FileUtils.writeToFile("/home/ceiec/configSync/"+DateUtils.getDate("yyyy-MM-dd")+"/"+entity.getServiceId()+"_"+System.currentTimeMillis()+"(d nodata).json", json, false); + JSONObject result = ConfigServiceUtil.configSync(json,1,entity.getServiceId(),entity.getTableName(),null); + logger.info("全量下发响应信息:"+result.toString()); + } + index++; } } /** @@ -1068,9 +1087,18 @@ public class ConfigSynchronizationService extends BaseService{ asnGroupInfos=asnGroupInfoDao.findAsnGroupInfoList(groupInfo);//每一批次下发都取一次最新的group_info信息 if(StringUtil.isEmpty(asnGroupInfos)){ hasData=false; + } } - + //此业务无数据需同步,也许向服务端发送一个{}串 + if(!hasData && !isUpdateCfg){ + String json = "{}"; + FileUtils.writeToFile("/home/ceiec/configSync/"+DateUtils.getDate("yyyy-MM-dd")+"/"+entity.getServiceId()+"_"+System.currentTimeMillis()+"(s asn or app nodata).json", json, false); + JSONObject result = ConfigServiceUtil.configSync(json,1,entity.getServiceId(),entity.getTableName(),null); + logger.info("全量下发响应信息:"+result.toString()); + } + int index=0; + List listData = Lists.newArrayList(); while(hasData){ entity.setPage(page); List list = Lists.newArrayList(); @@ -1083,6 +1111,7 @@ public class ConfigSynchronizationService extends BaseService{ entity.setCompileId(groupInfos.get(0).getCompileId()); entity.setGroupId(groupInfos.get(0).getGroupId()); list = configSynchronizationDao.getAppIpFeatureList(entity); + listData.addAll(list); }else if(entity.getServiceId().equals(400)){ page.setPageSize(-1); page.setPageNo(1); @@ -1091,6 +1120,7 @@ public class ConfigSynchronizationService extends BaseService{ entity.setCompileId(asnGroupInfos.get(0).getCompileId()); entity.setGroupId(asnGroupInfos.get(0).getGroupId()); list = configSynchronizationDao.getAsnIpList(entity); + listData.addAll(list); }else{ list = configSynchronizationDao.getIpPortListByService(entity); } @@ -1127,10 +1157,16 @@ public class ConfigSynchronizationService extends BaseService{ hasData=true; }else { hasData=false; + if(StringUtil.isEmpty(listData) && !isUpdateCfg){ + String json = "{}"; + FileUtils.writeToFile("/home/ceiec/configSync/"+DateUtils.getDate("yyyy-MM-dd")+"/"+entity.getServiceId()+"_"+System.currentTimeMillis()+"(asn nodata).json", json, false); + JSONObject result = ConfigServiceUtil.configSync(json,1,entity.getServiceId(),entity.getTableName(),null); + logger.info("全量下发响应信息:"+result.toString()); + } } - } - //APP IP - if(entity.getServiceId().equals(1028)){ + //TODO 待处理 + }else if(entity.getServiceId().equals(1028)){ + //APP IP //处理完成一个compile,删除一个Group if(!StringUtil.isEmpty(groupInfos)){ groupInfos.remove(0); @@ -1139,8 +1175,24 @@ public class ConfigSynchronizationService extends BaseService{ hasData=true; }else { hasData=false; + if(StringUtil.isEmpty(listData) && !isUpdateCfg){ + String json = "{}"; + FileUtils.writeToFile("/home/ceiec/configSync/"+DateUtils.getDate("yyyy-MM-dd")+"/"+entity.getServiceId()+"_"+System.currentTimeMillis()+"(app nodata).json", json, false); + JSONObject result = ConfigServiceUtil.configSync(json,1,entity.getServiceId(),entity.getTableName(),null); + logger.info("全量下发响应信息:"+result.toString()); + } + } + + }else{ + //此业务无数据需同步,也许向服务端发送一个{}串 + if(index ==0 && StringUtil.isEmpty(list) && !isUpdateCfg){ + String json = "{}"; + FileUtils.writeToFile("/home/ceiec/configSync/"+DateUtils.getDate("yyyy-MM-dd")+"/"+entity.getServiceId()+"_"+System.currentTimeMillis()+"(s nodata).json", json, false); + JSONObject result = ConfigServiceUtil.configSync(json,1,entity.getServiceId(),entity.getTableName(),null); + logger.info("全量下发响应信息:"+result.toString()); } } + index++; } } /** @@ -1827,12 +1879,21 @@ public class ConfigSynchronizationService extends BaseService{ boolean isUpdateCfg) throws ClassNotFoundException{ boolean hasData = true; + int index=0; while(hasData){ entity.setPage(page); hasData=auditCallbackData(className,page,entity,hasData,isUpdateCfg); if(hasData){ page.setPageNo(page.getNext()); } + //此业务无数据需同步,也许向服务端发送一个{}串 + if(index ==0 && StringUtil.isEmpty(page.getList()) && !isUpdateCfg){ + String json = "{}"; + FileUtils.writeToFile("/home/ceiec/configSync/"+DateUtils.getDate("yyyy-MM-dd")+"/"+entity.getServiceId()+"_"+System.currentTimeMillis()+"(h nodata).json", json, false); + JSONObject result = ConfigServiceUtil.configSync(json,2,entity.getServiceId(),entity.getTableName(),null); + logger.info("全量下发响应信息:"+result.toString()); + } + index++; } } @@ -1959,7 +2020,7 @@ public class ConfigSynchronizationService extends BaseService{ }else { FileUtils.writeToFile("/home/ceiec/configSync/"+DateUtils.getDate("yyyy-MM-dd")+"/"+entity.getServiceId()+"_"+page.getPageNo()+"_"+System.currentTimeMillis()+".json", json, false); //调用服务接口同步回调类配置 - isFinished = ((!hasData)&&lastServiceTag)?true:false; + isFinished = ((!hasData)&&lastServiceTag)?true:false; JSONObject result = ConfigServiceUtil.configSync(json,2,entity.getServiceId(),entity.getTableName(),isFinished?"FINISHED":null); logger.info("全量下发响应信息:"+result.toString()); }