下载本文示例代码
天极IT资讯短信服务 电脑小技巧 function check4() { if (dn.mobile.value.length!=11) { alert("手机号码不正确!"); dn.mobile.focus(); return false; } return true; } 资费:包月5元 手机: 介绍:细处着手,巧处用功。高手和菜鸟之间的差别就是:高手什么都知道,菜鸟知道一些。电脑小技巧收集最新奇招高招,让你轻松踏上高手之路。 Web-TimeService用于定时调用(触发)应用,EJB2.1也提供了TimerService,但现在有的application server不支持,有的就根本没有用到ejb,所以我写了一个简单的TimerSerivce
Public class TimerService{ public static final long p = 1000*60*60; Timer timer = new Timer(false); TimerSchedule schedule = null; public TimerService() { } public void start() throws Exception { schedule = new TimerSchedule(); schedule.addTimerJob(new SomeTimerJob()); //add other job here timer.schedule(schedule,0,p); } public void stop() throws Exception { timer.cancel(); }}//包含了多个TimerJob,并每到一定时候取出来看看是否该调用public class TimerSchedule extends TimerTask{ private List list = new ArrayList(); public TimerSchedule() {} public void addTimerJob(TimerJob job) { list.add(job); } public void run() { Date now = Calendar.getInstance().getTime(); Date next = null; for(int i=0;i<list.size();i ) { TimerJob job = (TimerJob)list.get(i); next = job.getNextExeDate(); if(isEquals(now,next)) { job.execute(); } } }/*** 比较俩个时间相差是否小于TimerService.p(一个周期)* @param now* @param next* @return*/private boolean isEquals(Date now,Date next){ long time = next.getTime()-now.getTime(); if (time <= TimerService.p && time >= 0) { return true; } else { return false; }}public boolean cancel(){ return true;}}//该接口描述了如何完成TimerTask,请参考TimerJobExampleinterface TimerJob{ public void execute(); public Date getNextExeDate();}/*** 该例子用于演示如何完成tiemrjob* 该例子功能是在每天的凌晨一点调用*/public class TimerJobExample implements TimerJob{ Calendar nextDate = null; public TimerJobExample() { nextDate = Calendar.getInstance(); nextDate.add(Calendar.DAY_OF_MONTH,1); //将设置调用时间是(第二天的)每天凌晨1点 nextDate.set(Calendar.HOUR_OF_DAY,1); } public void execute() { nextDate.add(Calendar.DAY_OF_MONTH,1); nextDate.set(Calendar.HOUR_OF_DAY,1); callFunction(); } public Date getNextExeDate() { return nextDate.getTime(); } private void callFunction() { System.out.println("TimerJobExample call ejb funcation:" new Date()); }} 启动Web_TimerService 启动Web-TimerService可以有多种方法,下面列出一个简单的方法,通过jsp来启动,停止TimerService
<%@ page contentType="text/html; charset=GBK" %><%@ page import="com.ted.cfioms.common.alert.*"%><% TimerService service = (TimerService)application.getAttribute("timerService"); boolean isStart = true; if(service == null) { service = new TimerService(); application.setAttribute("timerService",service); service.start(); } else { service.stop(); isStart = false; service = null; }%><html><head> <title> timerService </title></head><body bgcolor="#ffffff"><h1> <%=(isStart?"start ok":"stop ok")%></h1></body></html> 简单吧,呵呵,我在网上没找到合适的TimerService,所以自己写的,如果大家有类似的代码,可以提出来参考参考,谢谢
天极IT资讯短信服务 电脑小技巧 function check4() { if (dn.mobile.value.length!=11) { alert("手机号码不正确!"); dn.mobile.focus(); return false; } return true; } 资费:包月5元 手机: 介绍:细处着手,巧处用功。高手和菜鸟之间的差别就是:高手什么都知道,菜鸟知道一些。电脑小技巧收集最新奇招高招,让你轻松踏上高手之路。 Web-TimeService用于定时调用(触发)应用,EJB2.1也提供了TimerService,但现在有的application server不支持,有的就根本没有用到ejb,所以我写了一个简单的TimerSerivce
Public class TimerService{ public static final long p = 1000*60*60; Timer timer = new Timer(false); TimerSchedule schedule = null; public TimerService() { } public void start() throws Exception { schedule = new TimerSchedule(); schedule.addTimerJob(new SomeTimerJob()); //add other job here timer.schedule(schedule,0,p); } public void stop() throws Exception { timer.cancel(); }}//包含了多个TimerJob,并每到一定时候取出来看看是否该调用public class TimerSchedule extends TimerTask{ private List list = new ArrayList(); public TimerSchedule() {} public void addTimerJob(TimerJob job) { list.add(job); } public void run() { Date now = Calendar.getInstance().getTime(); Date next = null; for(int i=0;i<list.size();i ) { TimerJob job = (TimerJob)list.get(i); next = job.getNextExeDate(); if(isEquals(now,next)) { job.execute(); } } }/*** 比较俩个时间相差是否小于TimerService.p(一个周期)* @param now* @param next* @return*/private boolean isEquals(Date now,Date next){ long time = next.getTime()-now.getTime(); if (time <= TimerService.p && time >= 0) { return true; } else { return false; }}public boolean cancel(){ return true;}}//该接口描述了如何完成TimerTask,请参考TimerJobExampleinterface TimerJob{ public void execute(); public Date getNextExeDate();}/*** 该例子用于演示如何完成tiemrjob* 该例子功能是在每天的凌晨一点调用*/public class TimerJobExample implements TimerJob{ Calendar nextDate = null; public TimerJobExample() { nextDate = Calendar.getInstance(); nextDate.add(Calendar.DAY_OF_MONTH,1); //将设置调用时间是(第二天的)每天凌晨1点 nextDate.set(Calendar.HOUR_OF_DAY,1); } public void execute() { nextDate.add(Calendar.DAY_OF_MONTH,1); nextDate.set(Calendar.HOUR_OF_DAY,1); callFunction(); } public Date getNextExeDate() { return nextDate.getTime(); } private void callFunction() { System.out.println("TimerJobExample call ejb funcation:" new Date()); }} 启动Web_TimerService 启动Web-TimerService可以有多种方法,下面列出一个简单的方法,通过jsp来启动,停止TimerService
<%@ page contentType="text/html; charset=GBK" %><%@ page import="com.ted.cfioms.common.alert.*"%><% TimerService service = (TimerService)application.getAttribute("timerService"); boolean isStart = true; if(service == null) { service = new TimerService(); application.setAttribute("timerService",service); service.start(); } else { service.stop(); isStart = false; service = null; }%><html><head> <title> timerService </title></head><body bgcolor="#ffffff"><h1> <%=(isStart?"start ok":"stop ok")%></h1></body></html> 简单吧,呵呵,我在网上没找到合适的TimerService,所以自己写的,如果大家有类似的代码,可以提出来参考参考,谢谢
下载本文示例代码
一个简单的Timer Service一个简单的Timer Service一个简单的Timer Service一个简单的Timer Service一个简单的Timer Service一个简单的Timer Service一个简单的Timer Service一个简单的Timer Service一个简单的Timer Service一个简单的Timer Service一个简单的Timer Service一个简单的Timer Service一个简单的Timer Service一个简单的Timer Service一个简单的Timer Service
阅读(138) | 评论(0) | 转发(0) |