整合定時器框架quartz以及使用JDBCJobStore持久化到數據庫

1.首先引入jar包:http://www.quartz-scheduler.org/downloads/html

<dependency>
    <groupId>org.quartz-scheduler</groupId>
    <artifactId>quartz</artifactId>
    <version>2.2.1</version>
  </dependency>
  <dependency>
    <groupId>org.quartz-scheduler</groupId>
    <artifactId>quartz-jobs</artifactId>
    <version>2.2.1</version>
  </dependency>

2.在官網隨便找一個example運行起來,mysql

http://www.quartz-scheduler.org/documentation/quartz-2.2.x/examples/sql

本文測試用的是Example 3 - Cron Triggers ;由於這個知足項目需求數據庫

3. 使用JDBCJobStore:測試

上面默認的是使用RAMJobStore,任務信息存儲在內存中,若是重啓會丟失信息;spa

4. http://www.quartz-scheduler.org/downloads/code

下載下來,進入quartz-2.2.3-distribution\quartz-2.2.3\docs\dbTables目錄找到對應的sql建表語句htm

在數據庫執行;內存

5. 在項目claspath下新建quartz.properties文件:加入以下:get

org.quartz.scheduler.instanceName = MyScheduler
org.quartz.threadPool.threadCount = 5
org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate
org.quartz.jobStore.tablePrefix = QRTZ_
org.quartz.jobStore.dataSource = myDS

org.quartz.dataSource.myDS.driver =com.mysql.jdbc.Driver
org.quartz.dataSource.myDS.URL =jdbc:mysql://localhost:3306/dbName?useUnicode=true&characterEncoding=utf8
org.quartz.dataSource.myDS.user =root
org.quartz.dataSource.myDS.password =root
org.quartz.dataSource.myDS.maxConnections =5
6. 而後從新運行2中的example,成功,這個時候就會發如今數據庫中已經有了job的信息,以下:

相關文章
相關標籤/搜索