?? scheduledtask.java
字號:
/* * ScheduledTask.java * * Created on January 22, 2002, 3:00 PM */package com.sun.j2ee.workflow.control.warner;/** * * @author cai * @version */import java.util.Timer;import java.util.TimerTask;import java.util.Calendar;import java.util.Date;import java.util.Iterator;import java.util.Collection;import java.io.*;import java.util.Locale;import com.sun.j2ee.workflow.control.web.*;import com.sun.j2ee.workflow.task.model.TaskModel;import com.sun.j2ee.workflow.util.Debug;import com.sun.j2ee.workflow.mail.*;import com.sun.j2ee.workflow.mail.exceptions.*;/** Schedule a task that executes once every second. * @author Jian (James) Cai */public class ScheduledTask { Timer timer; long interval = 1000*60*60*24; //default interval is one day // long interval = 1000*60; Date currenttime; private MailSender amailSender = null; public void setInterval(long ainterval) { interval = ainterval; } public long getInterval() { return interval; } public ScheduledTask() { /*Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.HOUR_OF_DAY, 23); calendar.set(Calendar.MINUTE, 1); calendar.set(Calendar.SECOND, 0); currenttime = calendar.getTime(); */ StartTask(); } public void StopTask() { timer.cancel(); } public void StartTask() { Debug.println("Start warn startTask"); timer = new Timer(); timer.schedule(new WarnTask(), getCurrentDate(), //initial delay interval); //subsequent rate } public Date getCurrentDate() { Calendar calendar = Calendar.getInstance(); Date dt = calendar.getTime(); return dt; } private String getReceiver(String taskid) { return "jian.cai@sun.com"; } private MailSender getMailSender() { if (amailSender == null) { amailSender = new MailSender(); } return amailSender; } /** * @author Jian (James) Cai */ class WarnTask extends TimerTask { public void run() { Debug.println("Run warn task"); TaskUseBean tasklist = new TaskUseBean(); Iterator it = (tasklist.getTaskList()).iterator(); Date dt = getCurrentDate(); while (it.hasNext()) { TaskModel tm = (TaskModel)it.next(); if ((tm.getPlan_end_dt().before(dt))&&((!(tm.getAct_end_dt().after(tm.getPlan_start_dt())))||(tm.getAct_end_dt().after(tm.getPlan_end_dt())))) { EmailModel amesg = new EmailModel("Workflow Warning [Do not reply]", "Task Information Warning: \n" + "Task end date reached but not finished \n" + "Please See "+"http://localhost:8080/workflow/control/viewtask?task_ID="+ tm.getTask_ID()+ " for Detail.", getReceiver(tm.getTask_ID()), Locale.ENGLISH); // try { getMailSender().createAndSendMail(amesg); Debug.println("Mail: warning"); } catch (Exception ex) { Debug.println("Mail Error:"+ex); } } } } }}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -