package com.cy.pj.activity.service.impl;
import java.util.List;
import java.util.Timer;
import java.util.TimerTask;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.cy.pj.activity.dao.ActivityDao;
import com.cy.pj.activity.pojo.Activity;
import com.cy.pj.activity.service.ActivityService;
@Service // 扩占性能
public class ActivityServiceImpl implements ActivityService {
@Autowired
private ActivityDao activityDao;
@Override
public List<Activity> findActivitys() {
// TODO Auto-generated method stub
return activityDao.findActivitys();
}
@Override
public int saveObject(Activity entity) {
// TODO Auto-generated method stub
int rows= activityDao.insertObject(entity);
// 心愿工夫到了(endTime)主动批改活动状态
// 解决方案:基于任务调度去实现任务调度-基于工夫的设计主动执行工作)
// 1借助java中的Timer对象去实现
// ###工作###调度工作###调度工作###调度工作###调度任务调度任务调度任务调度任务调度
Timer timer = new Timer();// 此对象创立时会在底层启动一个线程。通过此县城对工夫进行监控
// 外面的类型是timerTask类型所以要newTimerTask
timer.schedule(new TimerTask() {
@Override
public void run() {
// 此地位批改流动的状态信息
System.out.println("开始任务调度的执行");
//通过映射获取到了id的值间接getId就行了
activityDao.updateState(entity.getId());
timer.cancel();//完结调度工作//cancel砍搜
}
}, entity.getEndTime());// 通过entity调用getEndTime办法
// 在此地位批改流动的状态信息
// 2借助java线程池中的任务调度对象去实现(ScheduledExecutorService)去实现
// 3借助第三方框架去实现
return rows;// 间接返回这个值了
}
// ###工作###调度工作###调度工作###调度工作###调度任务调度任务调度任务调度任务调度
}
发表回复