配合前端减少渲染次数,将动态航班信息加入到缓存。隔指定时间xx 后,以数组的形式一次发出。
This commit is contained in:
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user