全量同步时,某业务无数据也需要发送一次{}请求。
全业务全量同步时,需要将service=-1标识发送至服务端,便于服务端清理所有分组复用业务配置
This commit is contained in:
@@ -155,15 +155,16 @@ public class ConfigSynchronizationService extends BaseService{
|
||||
Page<BaseCfg> page=new Page<BaseCfg>(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<DdosIpCfg> 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());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user