200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > quartz 20持久化到mysql(详解quartz 20与mysql数据库的连接与持久化操作) mysql source 后台运行

quartz 20持久化到mysql(详解quartz 20与mysql数据库的连接与持久化操作) mysql source 后台运行

时间:2019-05-17 06:06:07

相关推荐

quartz 20持久化到mysql(详解quartz 20与mysql数据库的连接与持久化操作) mysql source 后台运行

一、Quartz 2.0与MySQL数据库的连接

Quartz 2.0与MySQL数据库的连接可以通过以下步骤实现:

1. 在Java应用程序中引入Quartz 2.0的依赖包,例如:

“`dency>

org.quartz-scheduler

quartz>dency>

2. 在MySQL数据库中创建一个表,用于存储Quartz的调度信息,例如:

CREATE TABLE `qrtz_job_details` (

`SCHED_NAME` varchar(120) NOT NULL,

`JOB_NAME` varchar(200) NOT NULL,

`JOB_GROUP` varchar(200) NOT NULL,

`DESCRIPTION` varchar(250) DEFAULT NULL,

`JOB_CLASS_NAME` varchar(250) NOT NULL,

`IS_DURABLE` varchar(1) NOT NULL,

`IS_NONCONCURRENT` varchar(1) NOT NULL,

`IS_UPDATE_DATA` varchar(1) NOT NULL,

`REQUESTS_RECOVERY` varchar(1) NOT NULL,

`JOB_DATA` blob,

PRIMARY KEY (`SCHED_NAME`,`JOB_NAME`,`JOB_GROUP`)noDB DEFAULT CHARSET=utf8;

3. 在Java应用程序中配置Quartz的数据源,例如:

“`yDSyDSysql.jdbc.DriveryDSysqlicodecoding=utf-8&useSSL=falseyDS.user = rootyDS.password = 123456yDSaxConnections = 10

yDSysql://localhost/quartz是MySQL数据库的连接地址,root和123456是MySQL数据库的用户名和密码。

4. 在Java应用程序中创建SchedulerFactory对象,并通过SchedulerFactory对象创建Scheduler对象,例如:

“`ew StdSchedulerFactory();

Scheduler scheduler = sf.getScheduler();

5. 在Java应用程序中创建JobDetail对象和Trigger对象,并将JobDetail对象和Trigger对象注册到Scheduler对象中,例如:

“`ewJob(MyJob.class)tity(“job1”, “group1”)

.build();ewTrigger()tity(“trigger1”, “group1”)ScheduleBuilderSchedule(“0/5 * * * * ?”))

.build();

scheduler.scheduleJob(jobDetail, trigger);

表达式,用于定义任务的执行时间。

二、Quartz 2.0与MySQL数据库的持久化操作

Quartz 2.0与MySQL数据库的持久化操作可以通过以下步骤实现:

1. 在Java应用程序中配置Quartz的持久化方式为JDBCJobStore,例如:

“`pl.jdbcjobstore.JobStoreTX

2. 在Java应用程序中配置Quartz的数据源,例如:

“`yDS

3. 在Java应用程序中配置Quartz的表前缀,例如:

org.quartz.jobStore.tablePrefix = qrtz_

4. 在Java应用程序中配置Quartz的数据源的事务管理方式为JDBC事务管理,例如:

“`pl.jdbcjobstore.StdJDBCDelegate

org.quartz.jobStore.useProperties = falsedlerplaphore

org.quartz.jobStore.isClustered = false

org.quartz.jobStore.selectWithLockSQL = SELECT * FROM {0}LOCKS UPDLOCK WHERE LOCK_NAME = ?

5. 在Java应用程序中创建SchedulerFactory对象,并通过SchedulerFactory对象创建Scheduler对象,例如:

“`ew StdSchedulerFactory();

Scheduler scheduler = sf.getScheduler();

6. 在Java应用程序中创建JobDetail对象和Trigger对象,并将JobDetail对象和Trigger对象注册到Scheduler对象中,例如:

“`ewJob(MyJob.class)tity(“job1”, “group1”)

.build();ewTrigger()tity(“trigger1”, “group1”)ScheduleBuilderSchedule(“0/5 * * * * ?”))

.build();

scheduler.scheduleJob(jobDetail, trigger);

表达式,用于定义任务的执行时间。

7. 启动Java应用程序,Quartz的调度信息将会持久化到MySQL数据库中。

本文介绍了Quartz 2.0与MySQL数据库的连接与持久化操作,可以将Quartz的调度信息保存在MySQL数据库中,以便在应用程序重启后仍能够恢复调度状态。Quartz 2.0是一个功能强大的任务调度框架,可以方便地实现各种定时任务的调度,对于需要进行定时任务调度的Java应用程序来说,是一个不可缺少的工具。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。