将日计划进行拆分,每个航班id的日计划作为一条消息发送到kafka 。减轻前端压力及提升处理性能和稳定性。

This commit is contained in:
zhouxiunai
2018-12-21 16:20:04 +08:00
parent 992823f112
commit 5768d3388b
@@ -1,15 +1,17 @@
package com.gzzn.omms.msgexchangeapi.msghandler.schd.base;
import java.util.Arrays;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.gzzn.omms.msgexchangeapi.entity.Cminmsg;
import com.gzzn.omms.msgexchangeapi.entity.msg.MSG;
import com.gzzn.omms.msgexchangeapi.entity.msg.SCHD;
import com.gzzn.omms.msgexchangeapi.entity.msg.SCHD.FLTR;
import com.gzzn.omms.msgexchangeapi.msghandler.HandlerResult;
import com.gzzn.omms.msgexchangeapi.msghandler.IBaseHandler;
import com.gzzn.omms.msgexchangeapi.msghandler.schd.DNLDHandler;
import com.gzzn.omms.msgexchangeapi.service.ICminmsgService;
import com.gzzn.omms.msgexchangeapi.service.IKafkaService;
import com.gzzn.omms.msgexchangeapi.service.exchange.IExchangeService;
@@ -49,13 +51,24 @@ public class SchdBaseHandler implements IBaseHandler{
*/
protected void sendDschd(Cminmsg cminmsg)
{
//send msg
String msg = exchangeService.xmlstrToJson(
cminmsg.getCminmsgsClobMsg()
);
//将每条计划转成一条json消息推送到kafka
String clobMsg = cminmsg.getCminmsgsClobMsg();
MSG dnldMsg = exchangeService.xmlstrToObject(clobMsg, MSG.class);
//
List<SCHD.FLTR> lsFltr = dnldMsg
.getSCHD()
.getFLTR();
logger.info("准备发送日计划到kafka");
kafkaservice.msgSend("dschd", msg);
for(FLTR fltr : lsFltr)
{
//send msg
String msgJson = JsonUtil.getStringWithNoneKey(fltr);
kafkaservice.msgSend("dschd", msgJson);
}
logger.info("发送日计划到kafka完毕");
}