Application examples of Spring3 and QUARTZ2

Source: Internet
Author: User
Tags getmessage

/** * Task Scheduler class * @author Joyce.luo * @date 2015-3-31 pm 03:32:04 * @version V3.0 * @since tomcat6.0,jdk1.6 * @copyright Copyri    Ght (c) */public class Quartzjob {/** * task ID */Private Integer jobId;    /** * Task Name */Private String jobName;    /** * Task Group */Private String jobgroup;    /** * Task Status 0 Disable 1 Enable 2 Delete */private Integer jobstatus;    /** * Task Run-time expression */private String cronexpression;    /** * @return The JOBID * */Public Integer getjobid () {return jobId; }/** * @param jobId * The jobId to set */public void Setjobid (Integer jobId) {this.    JobId = jobId;    }/** * @return the JobName * */Public String Getjobname () {return jobName;        }/** * @param jobName * The jobName to set */public void Setjobname (String jobName) {    This.jobname = JobName; }/** * @return the Jobgroup * */public String GETJOBGRoup () {return jobgroup;        }/** * @param jobgroup * The Jobgroup to set */public void Setjobgroup (String jobgroup) {    This.jobgroup = Jobgroup;    }/** * @return the Jobstatus * */Public Integer Getjobstatus () {return jobstatus; }/** * @param jobstatus * The Jobstatus to set */public void Setjobstatus (Integer jobstatus    ) {this.jobstatus = Jobstatus;    }/** * @return the cronexpression * */Public String getcronexpression () {return cronexpression; }/** * @param cronexpression * The cronexpression to set */public void setcronexpression (St    Ring cronexpression) {this.cronexpression = cronexpression; }}



Import Org.apache.log4j.logger;import Org.quartz.job;import Org.quartz.jobexecutioncontext;import Org.quartz.jobexecutionexception;import com.hupu.nac.biz.iauthpolicyclientbiz;/** * Client Long Connection Disconnect Task Dispatch factory class * @author Joyce.luo * @date 2015-3-31 pm 03:38:35 * @version V3.0 * @since tomcat6.0,jdk1.6 * @copyright Copyright (c) */public Class Linkdisconnectquartzjobfactory implements Job {    private static final Logger Logger = Logger.getlogger ( Linkdisconnectquartzjobfactory.class);        @Override public    Void execute (Jobexecutioncontext context) throws Jobexecutionexception {        quartzjob Schedulejob = (quartzjob) context.getmergedjobdatamap (). Get ("Linkdisconnectjob");        Logger.info ("Client Long disconnect timer task starts execution, task name [" + schedulejob.getjobname () + "]");}    }


Import Org.apache.log4j.logger;import Org.quartz.cronschedulebuilder;import Org.quartz.crontrigger;import Org.quartz.jobbuilder;import Org.quartz.jobdetail;import Org.quartz.jobkey;import Org.quartz.TriggerBuilder; Import Org.quartz.triggerkey;import org.quartz.impl.stdscheduler;/** * Client Long Connection disconnect task scheduling management class * @author Joyce.luo * @date 2015-3-31 pm 03:42:30 * @version V3.0 * @since tomcat6.0,jdk1.6 * @copyright Copyright (c) */public class Linkdisconne    Ctquartzmanager {private static final Logger Logger = Logger.getlogger (Linkdisconnectquartzmanager.class);        Private Stdscheduler Scheduler; /** * @param Scheduler the Scheduler to set */public void Setscheduler (Stdscheduler scheduler) {THIS.S    Cheduler = Scheduler; }/** * Initialize Task Scheduler * @author Joyce.luo * @date 2015-3-31 pm 03:48:55 * @version V3.0 * @since TOMCA        t6.0,jdk1.6 * @copyright Copyright (c) */public void Initjob () {logger.info ("Initialize client long connection disconnection task scheduling");Quartzjob job = new Quartzjob ();        Job.setjobname ("Link_disconnect_job");        Job.setjobgroup ("Link_disconnect_group");        Job.setjobstatus (1);        Job.setcronexpression ("0 0/1 * * *?");            try {triggerkey Triggerkey = Triggerkey.triggerkey (Job.getjobname (), Job.getjobgroup ());            Crontrigger trigger = (Crontrigger) scheduler.gettrigger (Triggerkey);            if (null = = Trigger) {addquartzjob (job, trigger); }} catch (Exception e) {logger.error ("Initialize the client long connection disconnects the task schedule exception!        "+ e.getmessage (), E); }}/** * Add Scheduled Tasks to Task Scheduler * @param Job Timing Task Information * @param trigger Schedule Trigger * @author Joyce.luo * @d Ate 2015-3-31 pm 04:04:58 * @version V3.0 * @since tomcat6.0,jdk1.6 * @copyright Copyright (c) */P        rivate void Addquartzjob (quartzjob job, Crontrigger Trigger) {Logger.info ("Add Timed tasks to Task Scheduler"); try {jobdetail jobdetail = jobbuilder.newjob (LinkdisConnectquartzjobfactory.class). Withidentity (Job.getjobname (), Job.getjobgroup ()). build ();            Jobdetail.getjobdatamap (). Put ("Linkdisconnectjob", job);            Cronschedulebuilder Schedulebuilder = Cronschedulebuilder.cronschedule (Job.getcronexpression ()); Trigger = Triggerbuilder.newtrigger (). Withidentity (Job.getjobname (), Job.getjobgroup ()). Withschedule (            Schedulebuilder). build ();        Scheduler.schedulejob (Jobdetail, Trigger); } catch (Exception e) {logger.error ("adds a scheduled task exception to the task schedule!        "+ e.getmessage (), E);     }}/** * Modify Scheduled Tasks in Task Scheduler * @param Job Timing Task Information * @param Triggerkey timed dispatch trigger key * @param trigger timing Schedule Trigger * @author Joyce.luo * @date 2015-3-31 pm 04:16:54 * @version V3.0 * @since tomcat6.0,jdk1.6 * @copyrigh T Copyright (c) */void Updatequartzjob (Quartzjob job, Triggerkey Triggerkey, Crontrigger trigger) {log        Ger.info ("Modify Scheduled Tasks in task scheduling"); try {if (null = =Job | | Null = = Triggerkey | | NULL = = Trigger) {Logger.info ("Modify schedule task parameter is not normal!                ");            Return            } logger.info ("Original task expression:" + trigger.getcronexpression () + "Now task expression:" + job.getcronexpression ()); if (Trigger.getcronexpression (). Equals (Job.getcronexpression ())) {Logger.info ("Task Scheduler expression is consistent, not modified!")                ");            Return            } logger.info ("Task Scheduler expression inconsistent, make changes");            Cronschedulebuilder Schedulebuilder = Cronschedulebuilder.cronschedule (Job.getcronexpression ());            Trigger = Trigger.gettriggerbuilder (). withidentity (Triggerkey). Withschedule (Schedulebuilder). build ();        Scheduler.reschedulejob (Triggerkey, Trigger); } catch (Exception e) {logger.error ("Modify scheduled task exceptions in Task Scheduler!        "+ e.getmessage (), E);     }}/** * Delete Scheduled Tasks in Task Scheduler * @param Job Timing Task Information * @author Joyce.luo * @date 2015-3-31 04:30:03 * @version V3.0 * @since tomcat6.0,jdk1.6 * @copyriGht Copyright (c) */void Deletejob (Quartzjob job) {logger.info ("Delete Scheduled tasks in Task Scheduler"); try {if (null = = Job) {logger.info ("Delete Schedule task parameter is not working properly!                ");            Return            } Jobkey Jobkey = Jobkey.jobkey (Job.getjobname (), Job.getjobgroup ()); if (null = = Jobkey) {logger.info ("Task Scheduler does not exist [" + job.getjobname () + "] timed tasks, do not delete!                ");            Return        } scheduler.resumejob (Jobkey); } catch (Exception e) {logger.error ("Delete scheduled task exceptions in Task Scheduler!        "+ e.getmessage (), E); }}/** * Delete Task Scheduler timer * @param triggerkey * @author Joyce.luo * @date 2015-3-31 04:35:33 * @ Version V3.0 * @since tomcat6.0,jdk1.6 * @copyright Copyright (c) */void Deletejob (Triggerkey trigger        Key) {logger.info ("Delete Task Scheduler timer"); try {if (null = = Triggerkey) {logger.info ("Stop task timer parameter is not normal, do not stop!")                ");      Return      } logger.info ("Stop task Timer");        Scheduler.resumetrigger (Triggerkey); } catch (Exception e) {logger.info ("Delete Task Scheduler Timer exception!        "+ e.getmessage (), E); }    }}


<bean id= "Linkdisconnectscheduler" class= "Org.springframework.scheduling.quartz.SchedulerFactoryBean"/>    <bean id= "Linkdisconnectquartzmanager" class= "Com.hupu.nac.timertask.LinkDisconnectQuartzManager" init-method= "Initjob" >    


Application examples of Spring3 and QUARTZ2

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.