配合前端减少渲染次数,将动态航班信息加入到缓存。隔指定时间xx 后,以数组的形式一次发出。
This commit is contained in:
@@ -52,7 +52,7 @@ public class FDELHandler extends FlopBaseHandler {
|
||||
}//end for
|
||||
|
||||
//推送变更后的主航班信息
|
||||
this.sendFltr(fltrMafl);
|
||||
this.addToBuffer(fltrMafl);
|
||||
}
|
||||
|
||||
return HandlerResult.success(fltr);
|
||||
|
||||
+15
-30
@@ -15,9 +15,9 @@ import com.gzzn.omms.msgexchangeapi.msghandler.IBaseHandler;
|
||||
import com.gzzn.omms.msgexchangeapi.redis.RedisService;
|
||||
import com.gzzn.omms.msgexchangeapi.service.ICminmsgService;
|
||||
import com.gzzn.omms.msgexchangeapi.service.IKafkaService;
|
||||
import com.gzzn.omms.msgexchangeapi.service.IMsgBufferService;
|
||||
import com.gzzn.omms.msgexchangeapi.service.exchange.IExchangeService;
|
||||
import com.gzzn.omms.msgexchangeapi.service.flightInfo.IFlightInfoService;
|
||||
import com.gzzn.omms.msgexchangeapi.utils.JsonUtil;
|
||||
import com.gzzn.omms.msgexchangeapi.utils.SpringUtil;
|
||||
|
||||
/**
|
||||
@@ -33,6 +33,7 @@ public class FlopBaseHandler implements IBaseHandler {
|
||||
protected IKafkaService kafkaservice;
|
||||
protected RedisService redisService;
|
||||
protected ICminmsgService cminmsgService;
|
||||
protected IMsgBufferService msgbufferservice;
|
||||
|
||||
public FlopBaseHandler()
|
||||
{
|
||||
@@ -41,6 +42,7 @@ public class FlopBaseHandler implements IBaseHandler {
|
||||
kafkaservice = (IKafkaService) SpringUtil.getBean("kafkaservice");
|
||||
redisService = (RedisService) SpringUtil.getBean("redisService");
|
||||
cminmsgService = (ICminmsgService) SpringUtil.getBean("cminmsgService");
|
||||
msgbufferservice = (IMsgBufferService) SpringUtil.getBean("msgbufferservice");
|
||||
}
|
||||
|
||||
|
||||
@@ -60,7 +62,8 @@ public class FlopBaseHandler implements IBaseHandler {
|
||||
flightInfoService.saveFltr(fltrResult);
|
||||
|
||||
//send and update
|
||||
this.sendFltrAndMsg(fltrResult, cminmsg);
|
||||
this.addToBuffer(fltrResult);
|
||||
this.sendMsg(cminmsg);
|
||||
this.updateCminmsgToProcessed(cminmsg);
|
||||
|
||||
return HandlerResult.success(fltrResult);
|
||||
@@ -73,6 +76,16 @@ public class FlopBaseHandler implements IBaseHandler {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加航班动态信息到缓冲区
|
||||
* @param fltr
|
||||
*/
|
||||
protected void addToBuffer(SCHD.FLTR fltr)
|
||||
{
|
||||
msgbufferservice.addFltr(fltr);//缓存区
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 关键处理逻辑 ,更新航班动态信息
|
||||
* @param flop 消息
|
||||
@@ -85,34 +98,6 @@ public class FlopBaseHandler implements IBaseHandler {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 发送航班信息到schd topic ,同时发送动态消息到msg topic
|
||||
* @param fltr
|
||||
* @param cminmsg
|
||||
*/
|
||||
protected void sendFltrAndMsg(SCHD.FLTR fltr,CminmsgWapper cminmsg)
|
||||
{
|
||||
//send schd
|
||||
String schdMsg = JsonUtil.getString(fltr);
|
||||
kafkaservice.msgSend("schd", schdMsg);
|
||||
|
||||
//send msg
|
||||
String msg = exchangeService.msgToJson(cminmsg.getMsg());
|
||||
kafkaservice.msgSend("msg", msg);
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送动态航班信息
|
||||
* @param fltr
|
||||
*/
|
||||
protected void sendFltr(SCHD.FLTR fltr)
|
||||
{
|
||||
//send schd
|
||||
String schdMsg = JsonUtil.getString(fltr);
|
||||
kafkaservice.msgSend("schd", schdMsg);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 仅发送动态消息
|
||||
* @param cminmsg
|
||||
|
||||
@@ -34,7 +34,8 @@ public class ADFTHandler extends SchdBaseHandler{
|
||||
flightInfoService.saveFltr(fltr);
|
||||
|
||||
|
||||
this.sendFltrAndMsg(fltr, cminmsg);
|
||||
this.addToBuffer(fltr);
|
||||
this.sendMsg(cminmsg);
|
||||
this.updateCminmsgToProcessed(cminmsg);
|
||||
|
||||
|
||||
@@ -48,7 +49,7 @@ public class ADFTHandler extends SchdBaseHandler{
|
||||
fltrMafl.getMafl().add(mafldata);
|
||||
|
||||
//推送变更后的主航班信息
|
||||
this.sendFltr(fltrMafl);
|
||||
this.addToBuffer(fltrMafl);
|
||||
}
|
||||
|
||||
return HandlerResult.success();
|
||||
|
||||
+12
-30
@@ -5,7 +5,6 @@ import java.util.Arrays;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import com.gzzn.omms.msgexchangeapi.dto.ResponseDto;
|
||||
import com.gzzn.omms.msgexchangeapi.entity.Cminmsg;
|
||||
import com.gzzn.omms.msgexchangeapi.entity.CminmsgWapper;
|
||||
import com.gzzn.omms.msgexchangeapi.entity.msg.MSG;
|
||||
@@ -14,9 +13,9 @@ import com.gzzn.omms.msgexchangeapi.msghandler.HandlerResult;
|
||||
import com.gzzn.omms.msgexchangeapi.msghandler.IBaseHandler;
|
||||
import com.gzzn.omms.msgexchangeapi.service.ICminmsgService;
|
||||
import com.gzzn.omms.msgexchangeapi.service.IKafkaService;
|
||||
import com.gzzn.omms.msgexchangeapi.service.IMsgBufferService;
|
||||
import com.gzzn.omms.msgexchangeapi.service.exchange.IExchangeService;
|
||||
import com.gzzn.omms.msgexchangeapi.service.flightInfo.IFlightInfoService;
|
||||
import com.gzzn.omms.msgexchangeapi.utils.JsonUtil;
|
||||
import com.gzzn.omms.msgexchangeapi.utils.SpringUtil;
|
||||
|
||||
/**
|
||||
@@ -31,6 +30,7 @@ public class SchdBaseHandler implements IBaseHandler{
|
||||
protected IFlightInfoService flightInfoService;
|
||||
protected IKafkaService kafkaservice;
|
||||
protected ICminmsgService cminmsgService;
|
||||
protected IMsgBufferService msgbufferservice;
|
||||
|
||||
public SchdBaseHandler()
|
||||
{
|
||||
@@ -38,6 +38,7 @@ public class SchdBaseHandler implements IBaseHandler{
|
||||
flightInfoService = (IFlightInfoService) SpringUtil.getBean("flightInfoService");
|
||||
kafkaservice = (IKafkaService) SpringUtil.getBean("kafkaservice");
|
||||
cminmsgService = (ICminmsgService) SpringUtil.getBean("cminmsgService");
|
||||
msgbufferservice = (IMsgBufferService) SpringUtil.getBean("msgbufferservice");
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -45,6 +46,15 @@ public class SchdBaseHandler implements IBaseHandler{
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加航班动态信息到缓冲区
|
||||
* @param fltr
|
||||
*/
|
||||
protected void addToBuffer(SCHD.FLTR fltr)
|
||||
{
|
||||
msgbufferservice.addFltr(fltr);//缓存区
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送日计划到kafka队列
|
||||
* @param cminmsg
|
||||
@@ -80,34 +90,6 @@ public class SchdBaseHandler implements IBaseHandler{
|
||||
String msg = exchangeService.msgToJson(cminmsg.getMsg());
|
||||
kafkaservice.msgSend("msg", msg);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 发送航班信息到schd topic ,同时发送动态消息到msg topic
|
||||
* @param fltr
|
||||
* @param cminmsg
|
||||
*/
|
||||
protected void sendFltrAndMsg(SCHD.FLTR fltr,CminmsgWapper cminmsg)
|
||||
{
|
||||
//send schd
|
||||
String schdMsg = JsonUtil.getString(fltr);
|
||||
kafkaservice.msgSend("schd", schdMsg);
|
||||
|
||||
//send msg
|
||||
String msg = exchangeService.msgToJson(cminmsg.getMsg());
|
||||
kafkaservice.msgSend("msg", msg);
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送动态航班信息
|
||||
* @param fltr
|
||||
*/
|
||||
protected void sendFltr(SCHD.FLTR fltr)
|
||||
{
|
||||
//send schd
|
||||
String schdMsg = JsonUtil.getString(fltr);
|
||||
kafkaservice.msgSend("schd", schdMsg);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新Cminmsg状态为已处理
|
||||
|
||||
Reference in New Issue
Block a user