码迷,mamicode.com
首页 > 其他好文 > 详细

会员卡管理系统技术解析(十八)Timer定时监听

时间:2015-06-24 22:39:04      阅读:256      评论:0      收藏:0      [点我收藏+]

标签:文章标题   web.xml   java web   servlet   ssh   

会员卡管理系统技术解析(十八)Timer定时监听

在web应用中,有时候客户需要一些定时程序,不需要客户自己去操作,而是由应用程序自行触发(代理)执行某些操作。这个时候监听与定时器的配合使用就基本可以实现这个需求了。网上很多代码并不完整,水平未到,看得太吃力了.下面以系统每天00:00:00进行的当日最大单据数维护进行实例解析。
首先,建立相关的包河类,如下图:
技术分享
图1

然后,在"web.xml"中对定时器和监听类注册,代码如下:
<servlet>
    <servlet-name>listener</servlet-name>
    <servlet-class>MEMBCERP.Servlet.servletlistener</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>listener</servlet-name>
    <url-pattern>/listener.do</url-pattern>
  </servlet-mapping>

接着,就是定时监听的编写了,代码如下:
package MEMBCERP.Servlet;

import java.util.Timer;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;

public class servletlistener extends HttpServlet {
	/*监听转发系统代理事件*/
	private Timer timer = null;   
    public void init(ServletConfig config) throws ServletException{  
        super.init(config);    
        timer = new Timer(true);  
        timer.schedule(new Todo(), 0, 1000);  /*参数:方法重定向,延迟,执行时间的间隔*/
    }  	
	
}
最后,便是监听到符合程序,满足条件便自行进行系统维护了,代码如下:
package MEMBCERP.Servlet;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimerTask;

import MEMBCERP.IService.JianKaYuFaFangIService;
import MEMBCERP.Service.JianKaYuFaFangService;
import MEMBCERP.pojo.SysMaxNumber;
public class Todo extends TimerTask{
	
    @Override
    public void run(){
    	SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss");//设置日期格式
		String timDate=df.format(new Date());
		//监听是否进行日常维护
		if (timDate.equals("00:00:00")) {
			ChuShiHuaZuiDaDanJuShu();
		}
    }
    
    public JianKaYuFaFangIService jianKaYuFaFangService=new JianKaYuFaFangService(); //实例化类
    //初始化当日最大单据数
    public void ChuShiHuaZuiDaDanJuShu() {
    	SysMaxNumber lstZuiDaDanJuShu=new SysMaxNumber();
		lstZuiDaDanJuShu.setDiaoBoJiLuZuiDaShu(0);
		lstZuiDaDanJuShu.setFaFangJiLuZuiDaShu(0);
		lstZuiDaDanJuShu.setGuaShiHuiFuJiLuZuiDaShu(0);
		lstZuiDaDanJuShu.setHuiYuanKaZuoFeiJiLuZuiDaShu(0);
		lstZuiDaDanJuShu.setHuiYuanKaHuanKaJiLuZuiDaShu(0);
		lstZuiDaDanJuShu.setHuiYuanKaYouXiaoQiGengGaiJiLuZuiDaShu(0);
		lstZuiDaDanJuShu.setHuiYuanKaZhuangTaiBianDongJiLuZuiDaShu(0);
		lstZuiDaDanJuShu.setId(0);
		lstZuiDaDanJuShu.setKuCunKaYouXiaoQiBianGengJiLuZuiDaShu(0);
		lstZuiDaDanJuShu.setKuCunKaZuoFeiJiLuZuiDaShu(0);
		lstZuiDaDanJuShu.setLingKaJiLuZuiDaShu(0);
		lstZuiDaDanJuShu.setTuiLingJiLuZuiDaShu(0);
		lstZuiDaDanJuShu.setGuaShiJiLuZuiDaShu(0);
		lstZuiDaDanJuShu.setJianKaJiLuZuiDaShu(0);
		lstZuiDaDanJuShu.setKuCunKaZuoFeiHuiFuJiLuZuiDaShu(0);
		this.jianKaYuFaFangService.UpdateZuiDaDanJuShu(lstZuiDaDanJuShu);
	}
}

到此,会员卡管理系统技术解析(十八)Timer定时监听 解析完毕.如有不懂可留言提问.
注意:仅供学习,禁止用于商业用途!否则,后果自负。
@最终解析权归本人所有

会员卡管理系统技术解析(十八)Timer定时监听

标签:文章标题   web.xml   java web   servlet   ssh   

原文地址:http://blog.csdn.net/qqs819439054/article/details/46626491

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!