StartCommand.java 1.85 KB
package com.bsth;


import com.bsth.server_rs.gps.buffer.BasicDataRefreshThread;
import com.bsth.server_rs.gps.buffer.GpsRefreshThread;
import com.bsth.server_rs.schedule.real.thread.ExecSchDataRefreshThread;
import com.bsth.server_rs.schedule.real.thread.SchInOutDataRefreshThread;
import com.bsth.server_rs.thread.RfidCardInfoPersistenceThread;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;

import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;


/**
 * 随应用启动运行
 * @author PanZhao
 *
 */
@Component
public class StartCommand implements CommandLineRunner{


	@Autowired
	RfidCardInfoPersistenceThread rfidCardInfoPersistenceThread;
	@Autowired
	SchInOutDataRefreshThread schInOutDataRefreshThread;
	@Autowired
	ExecSchDataRefreshThread execSchDataRefreshThread;
	//@Autowired
	//GpsRefreshThread gpsRefreshThread;
	@Autowired
	BasicDataRefreshThread basicDataRefreshThread;

	@Override
	public void run(String... arg0){
		
		try {
			ScheduledExecutorService sexec = Application.mainServices;
			//定时将人车卡数据入库
			sexec.scheduleWithFixedDelay(rfidCardInfoPersistenceThread, 120, 60 * 10, TimeUnit.SECONDS);
			//定时从调度系统刷新进出场数据
			sexec.scheduleWithFixedDelay(schInOutDataRefreshThread, 40, 60, TimeUnit.SECONDS);
			//定时从调度系统刷新车辆正在的执行班次
			sexec.scheduleWithFixedDelay(execSchDataRefreshThread, 20, 60, TimeUnit.SECONDS);
			//定时刷新实时gps缓存
			//Application.mainServices.scheduleWithFixedDelay(gpsRefreshThread, 10, 7, TimeUnit.SECONDS);
			//定时刷新基础信息
			Application.mainServices.scheduleWithFixedDelay(basicDataRefreshThread, 30, 30, TimeUnit.MINUTES);

		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}