J2EE,struts2 拦截器中获取server

当前位置 : 首页 > 网页制作 > CSS > J2EE,struts2 拦截器中获取server

J2EE,struts2 拦截器中获取server

来源: 作者: 时间:2016-01-28 09:27
xml配置,监听器一定要在ContextLoaderListener后面[html]listener listener-classorg springframework web context ContextLoaderListener listener-class listener !-- 定时器 -- liste
xml配置,监听器一定要在ContextLoaderListener后面
[html] 
<listener>  
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
</listener>  
  
<!-- 定时器 -->  
<listener>  
    <listener-class>com.alpha.util.TimerListener</listener-class>  
</listener>  
 
 
推荐方法:
[java] 
import java.util.Timer;  
import java.util.TimerTask;  
  
import javax.servlet.ServletContextEvent;  
import javax.servlet.ServletContextListener;  
  
import org.springframework.context.ApplicationContext;  
import org.springframework.web.context.support.WebApplicationContextUtils;  
  
/** 
 * 安排指定的任务task在指定的时间firstTime开始进行重复的固定速率period执行 
 * @author JavaAlpha 
 * @date 2013-10-30 13:46:15 
 */  
public class TimerListener implements ServletContextListener{  
  
    private Timer timer = null;  
  
    public void contextInitialized(ServletContextEvent servletContextEvent)   
    {  
        //在这里初始化监听器,在tomcat启动的时候监听器启动,可以在这里实现定时器功能  
        timer = new Timer(true);  
          
        //添加日志,可在tomcat日志中查看到  
        servletContextEvent.getServletContext().log("定时发布Timer已启动!");  
          
        ApplicationContext ac1 = WebApplicationContextUtils.getRequiredWebApplicationContext(servletContextEvent.getServletContext());  
//      ApplicationContext ac2 = WebApplicationContextUtils.getWebApplicationContext(servletContextEvent.getServletContext());  
        final EquipmentMaintainService emS = (EquipmentMaintainService) ac1.getBean("emService");//Service  
          
        timer.scheduleAtFixedRate(new TimerTask() {  
              
            public void run() {  
                  
                //设备维护管理--定时提醒  
                EquipmentMaintainAction em = new EquipmentMaintainAction();  
                  
                System.out.println("-------定期检修提醒任务--------");  
                em.timerTaskTbFTServiceRemind(emSvc);  
                  
                System.out.println("-------定期注油提醒任务--------");  
                em.timerTaskTbFTOilingRemind(emSvc);  
                  
                System.out.println("-------维修工单提醒任务--------");  
                em.timerTaskTbFTMaintainlistRemind(emSvc);  
                  
                System.out.println("-------报警提醒任务--------");  
                em.timerTaskTbAlarmRemind(emSvc);  
                  
            }  
        }, 30000, 2000);// 这里设定将延时每十分钟固定执行  
          
网友评论

<