java监听器:ServletContextListener获取spring注入对象

来源:互联网 发布:网络维护班组优秀案例 编辑:程序博客网 时间:2024/05/16 19:42

package com.seing.eepsweb.util.video;


import java.util.Calendar;
import java.util.List;
import java.util.Timer;
import java.util.TimerTask;


import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;


import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;


import com.seing.eepsweb.entity.Equipment;
import com.seing.eepsweb.service.equipment.EquipmentService;
import com.seing.eepsweb.util.UtilDate;


/**
 * 系统启动监听器:录像
 * 
 */
public class VideoListener implements ServletContextListener {
private final Timer timer = new Timer();
private Calendar calFirst = Calendar.getInstance(); // 第一个任务的启动时间
private WebApplicationContext springContext;
private EquipmentService equipmentService;
//ApplicationContext ctx;
//VideoService videoService = new VideoService();
public void contextDestroyed(ServletContextEvent se) {
//videoService.destroy();
timer.cancel();
}


public void contextInitialized(ServletContextEvent se) {
//ctx = new FileSystemXmlApplicationContext("src/main/resources/applicationContext.xml");
//ctx = new ClassPathXmlApplicationContext("classpath:/applicationContext.xml");
//ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
springContext = WebApplicationContextUtils.getWebApplicationContext(se.getServletContext()); 
if(springContext != null){ 
equipmentService = (EquipmentService)springContext.getBean("equipmentService"); 
  }else{ 
   System.out.println("获取应用程序上下文失败!"); 
  return; 
  } 
  System.out.println("初始化系统服务!"); 
   
//videoService.init();
// 设置第一启动时间12:00
// calFirst.set(Calendar.HOUR_OF_DAY, 12);
// calFirst.set(Calendar.MINUTE,40);
// 启动第一个任务
timer.schedule(new FirstTimerTask(), calFirst.getTime(), 100000);// 30分钟发一次1800000
System.out.println("监听器初始化完成!");


}


public class FirstTimerTask extends TimerTask {
public void run() {
try {
videoTask();
} catch (Exception e) {
e.printStackTrace();
}
}
}
/**
* 定时任务

*/
public void videoTask(){
System.out.println("监听开始");
//EquipmentService equipmentService = (EquipmentService)ctx.getBean("equipmentService");
List<Equipment> equipmentList = equipmentService.getAllEquipment();
if(equipmentList != null && equipmentList.size() > 0){
for(Equipment equipment:equipmentList){
System.out.println(UtilDate.getOrderNum());//getOrderNum
//VideoService videoService = new VideoService();
//连接
/*if(videoService.connectEnquipment(equipment.getEquipmentid(), equipment.getEname(), equipment.getWip(), equipment.getEuser(), equipment.getEpass(), "D:/", "video")){
//停止录像
if(videoService.videoStop(equipment.getEquipmentid(), equipment.getEname(), equipment.getWip(), equipment.getEuser(), equipment.getEpass(), "D:/", "video")){
//开始录像
videoService.videoStart(equipment.getEquipmentid(), equipment.getEname(), equipment.getWip(), equipment.getEuser(), equipment.getEpass(), "D:/", "video");
}
}*/
}
}else{

// http://zzck-dental.com/index
System.out.println("没有过期");
}
}
}


0 0
原创粉丝点击