配合前端减少渲染次数,将动态航班信息加入到缓存。隔指定时间xx 后,以数组的形式一次发出。

This commit is contained in:
zhouxiunai
2019-01-17 20:59:43 +08:00
parent 1e8cf60dbb
commit f0dbf1a3b3
8 changed files with 185 additions and 63 deletions
@@ -0,0 +1,53 @@
package com.gzzn.omms.msgexchangeapi.scheduled;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import com.gzzn.omms.msgexchangeapi.entity.CminmsgWapper;
import com.gzzn.omms.msgexchangeapi.entity.msg.SCHD;
import com.gzzn.omms.msgexchangeapi.entity.msg.SCHD.FLTR;
import com.gzzn.omms.msgexchangeapi.service.IKafkaService;
import com.gzzn.omms.msgexchangeapi.service.IMsgBufferService;
import com.gzzn.omms.msgexchangeapi.utils.JsonUtil;
/**
* 航班动态定时发送任务,间隔多长时间发一次
* @author zhouxiunai
*
*/
@Component
@Async
public class FltrSendScheduled {
private static Logger logger = LoggerFactory.getLogger(FltrSendScheduled.class);
@Autowired
private IKafkaService kafkaservice;
@Autowired
private IMsgBufferService msgBufferService;
@Scheduled(cron = "${scheduled.flightSendCron}")
public void scheduled()
{
//
logger.info("开始发送航班动态信息");
try {
List<FLTR> fltrs = msgBufferService.takeAllFltr();
if(fltrs.size() > 0)
{
//send schd list
String schdMsg = JsonUtil.getString(fltrs);
kafkaservice.msgSend("schd", schdMsg);
}
} catch (Exception e) {
logger.error("动态航班信息发送异常:{}",e.getMessage());
}
}//end shceduled
}