SchedulePersistenceThread.java 1.02 KB
package com.bsth.service.realcontrol.buffer;

import java.util.LinkedList;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import com.bsth.entity.realcontrol.ScheduleRealInfo;
import com.bsth.repository.realcontrol.ScheduleRealInfoRepository;

/**
 * 
 * @ClassName: SchedulePersistenceThread
 * @Description: TODO(排班缓存 修改 持久化)
 * @author PanZhao
 * @date 2016年6月14日 下午1:11:49
 *
 */
@Component
public class SchedulePersistenceThread extends Thread {

	@Autowired
	ScheduleRealInfoRepository scheduleRepository;
	
	@Override
	public void run() {
		LinkedList<ScheduleRealInfo> list = ScheduleBuffer.persistentList;

		ScheduleRealInfo schedule;
		for (int i = 0; i < 1000; i++) {
			schedule = list.poll();

			if (null == schedule)
				break;

			scheduleRepository.save(schedule);
			if(schedule.existDependent()){
				//关联班次也持久化
				scheduleRepository.save(schedule.getTwins());
			}
		}
	}
}