基于quartz的定时任务(2)

2020-02-22 10:51

datasource.setPassword(dbPassword); datasource.setMaxActive(maxConnections); datasource.setMinIdle(1);

datasource.setMaxWait(maxIdleSeconds);

datasource.setMaxOpenPreparedStatements(maxStatementsPerConnection);

if (dbValidationQuery != null) {

datasource.setValidationQuery(dbValidationQuery); if(!validateOnCheckout)

datasource.setTestOnBorrow(true); else

datasource.setTestOnReturn(true);

datasource.setTimeBetweenEvictionRunsMillis(idleValidationSeconds); } }

public Connection getConnection() throws SQLException { return datasource.getConnection(); }

public void shutdown() throws SQLException { datasource.close(); }

public void initialize() throws SQLException {

// do nothing, already initialized during constructor call newInstance try {

this.initialize(this.dbDriver, this.URL, this.dbUser, this.dbPassword,

maxConnections, this.maxStatementsPerConnection, this.dbValidationQuery, validateOnCheckout, this.idleValidationSeconds, maxIdleSeconds); } catch (SchedulerException e) {

// TODO Auto-generated catch block throw new SQLException(e); } }

public void setDriver(String dbDriver) { this.dbDriver = dbDriver; }

public void setURL(String URL) { this.URL = URL; }

public String getURL() { return URL; }

public void setUser(String dbUser) { this.dbUser = dbUser; }

public void setPassword(String dbPassword) { this.dbPassword = dbPassword; }

public void setMaxConnections(int maxConnections) {

this.maxConnections = maxConnections; }

public void setMaxCachedStatementsPerConnection(int maxStatementsPerConnection) {

this.maxStatementsPerConnection = maxStatementsPerConnection; }

public void setMaxIdleSeconds(int maxIdleSeconds) { this.maxIdleSeconds = maxIdleSeconds; }

public void setValidationQuery(String dbValidationQuery) { this.dbValidationQuery = dbValidationQuery; }

public void setIdleConnectionValidationSeconds(int idleValidationSeconds) { this.idleValidationSeconds = idleValidationSeconds; }

public void setValidateOnCheckout(boolean validateOnCheckout) { this.validateOnCheckout = validateOnCheckout; }

public void setDiscardIdleConnectionsSeconds(int maxIdleSeconds) { this.maxIdleSeconds = maxIdleSeconds; }

public void setDatasource(BasicDataSource datasource) { this.datasource = datasource; }

protected BasicDataSource getDataSource() { return datasource; } }

1.3 工具类对定时任务进行操作

主要是添加、修改、删除定时任务

package tool.remind;

import static org.quartz.JobBuilder.newJob;

import static org.quartz.TriggerBuilder.newTrigger;

import static org.quartz.CronScheduleBuilder.cronSchedule; import org.quartz.CronTrigger; import org.quartz.Job; import org.quartz.JobDetail; import org.quartz.JobKey; import org.quartz.Scheduler;

import org.quartz.SchedulerException; import org.quartz.SchedulerFactory; import org.quartz.TriggerKey;

import org.quartz.impl.StdSchedulerFactory; public class QuartzManager {

private static SchedulerFactory sFactory = new StdSchedulerFactory(); private static String JOB_GROUP_NAME = \; private static String TRIGGER_GROUP_NAME = \;

public static boolean addJob(String jobName,Class

try{

Scheduler scheduler = sFactory.getScheduler(); JobDetail job = newJob(cls).withIdentity(jobName,

cls,String cron){

JOB_GROUP_NAME).build();

}

}

job.getJobDataMap().put(\, jobName);

CronTrigger trigger = newTrigger().withIdentity(jobName, scheduler.scheduleJob(job, trigger); scheduler.start(); return true; return true;

TRIGGER_GROUP_NAME).withSchedule(cronSchedule(cron)).build();

}catch(Exception e){

public static void modifyJobTime(String jobName,String cron){ }

public static void removeJob(String jobName){

try{

Scheduler scheduler = sFactory.getScheduler(); TriggerKey triggerKey = new TriggerKey(jobName, scheduler.pauseTrigger(triggerKey); scheduler.unscheduleJob(triggerKey);

JobKey jobKey = new JobKey(jobName, JOB_GROUP_NAME); scheduler.deleteJob(jobKey); e.printStackTrace(); try{ }

Scheduler scheduler = sFactory.getScheduler(); TriggerKey triggerKey = new TriggerKey(jobName, CronTrigger trigger = if(trigger==null){ }

String oldCron = trigger.getCronExpression(); if(!oldCron.equalsIgnoreCase(cron)){ }

e.printStackTrace();

JobKey jobKey = new JobKey(jobName, JOB_GROUP_NAME); JobDetail jobDetail = scheduler.getJobDetail(jobKey); Class jobClass = jobDetail.getJobClass(); removeJob(jobName);

addJob(jobName,jobClass,cron); return;

TRIGGER_GROUP_NAME);

(CronTrigger)scheduler.getTrigger(triggerKey);

}catch(Exception e){

TRIGGER_GROUP_NAME);

}catch(Exception e){


基于quartz的定时任务(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:模块一:物流成本与物流成本管理认知习题与答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: