会员卡管理系统技术解析(十八)Timer定时监听
2016-01-05 12:29
239 查看
会员卡管理系统技术解析(十八)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定时监听 解析完成.如有不懂可留言提问.
注意:仅供学习,禁止用于商业用途!
否则,后果自负。
@终于解析权归本人全部
相关文章推荐
- 基于Android 下载文件时,更新UI简单帮助类
- H5实现拍照并上传
- ListView下拉刷新
- 微服务:分解应用以实现可部署性和可扩展性
- Android平台实现与Apache Tomcat服务器数据交互(MySql数据库)
- 【基于Jsoup】无节操图片段子APP
- 也谈阻塞、非阻塞、同步、异步
- 试题识别与生成
- ORB特征检测与匹配
- EditText中imeOptions属性使用及设置无效解决
- Windows图形编程笔记
- GTA V - Graphics Study
- MAC EI Capitan上更新系统自带SVN版本(关闭SIP方能sudo rm)
- suid和sgid的个人理解
- 2015年是虚假繁荣,认清自己,切勿盲目乐观
- 暗黑3补钉2.4前瞻:套装与物品更新-暗黑损坏神3专区-新浪游戏
- 简单的php+mysql聊天室实现方法(附源码)
- swift学习
- 177,MVC模式实例
- Charles 使用指南