監聽器代碼如下:
package com.bocean.timer;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import com.bocean.service.eqpt.ICareNovaEqptService;
import com.bocean.socket.BosEqptServer;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
import com.bocean.service.mcenter.IRandCardService;
import java.io.IOException;
/**
*@User only29
*@Date 2014-11-24
*@Time 上午10:35:48
*
*/
public class TaskJobListener implements ServletContextListener {
private static WebApplicationContext context;
private ICareNovaEqptService service;
@Override
public void contextInitialized(ServletContextEvent event) {
event.getServletContext().log("TaskJobListener啓動成功!");
event.getServletContext().log("定時器已啓動");
//獲取spring上下文環境
context = WebApplicationContextUtils.getWebApplicationContext(event.getServletContext());
service = (ICareNovaEqptService) context.getBean("careNovaEqptServiceImpl");
try {
new BosEqptServer().setService(service).start();
} catch (IOException e) {
e.printStackTrace();
}
event.getServletContext().log("定時器執行完");
}
@Override
public void contextDestroyed(ServletContextEvent event) {
event.getServletContext().log("TaskJobListener銷燬成功!");
}
}
web.xml配置
<!-- 定時器監聽 放在ContextLoaderListener之後 -->
<listener>
<listener-class>com.bocean.timer.TaskJobListener</listener-class>
</listener>