1.一般的なインターフェイス:
1。ジョブインターフェイス:このインターフェイスには1つの方法しかありません
void execute(jobexecutioncontextコンテキスト)
開発者は、このインターフェイスを実装して、実行する必要があるタスクを定義します。 jobexecutionContextクラスは、スケジューリングのコンテキストに関するさまざまな情報を提供します。
2。JobDetail:ジョブの実装クラスやその他の静的情報を説明するために使用されます
3。トリガー:ジョブの実行をトリガーするための時間トリガールールを説明する
4。カレンダー:トリガーに関連してトリガーする可能性のある(または不可能な)時間空間を定義します。トリガーのリアルタイムを定義するのではなく、通常のスケジュールでトリガートリガーを制限する必要がある場合に使用されます。ほとんどのカレンダーには、デフォルトで常に常に含まれており、ユーザーはしばらく除外します。
5。スケジューラ:コンテナを実行し、SchedulerFactoryを使用してスケジューラインスタンスを作成します
2。コード例:
1. Quartzを使用する場合、ジョブインターフェイスを実装する必要があります。
public class testjobはjob {public void execute(jobexecutioncontextコンテキスト)jobexecutionexception {system.out.println( "hello world! - " + new date())をスローします。 //もっと...}}2。スケジューリング[比較的簡単です、コードを見てください]
public class quartztest {public static void main(string args [])throws schedulerexception、parseexception {jobdetail jobdetail = jobbuilder.newjob(testjob.class)。トリガートリガー= triggerbuilder .newtrigger().withidentity( "trigger_1"、 "group_1").startnow().withschedule(simpleschedulebuilder.simplesschedule().withintervalinseconds(10)// time interval.withRepeatcounts(5 fllepeatcount(5)実行)).build(); SchedulerFactory sf = new Stdschedulerfactory();スケジューラスケジュール= sf.getScheduler(); sched.schedulejob(jobdetail、トリガー); sched.start(); }}バージョン2.2.1は次のとおりです。公式ドキュメントの例を参照してください。いくつかのリファレンスブックが古いバージョンで使用されていることがわかりましたので、いくつかの違いがあります。多くの方法が非推奨されているため、ドキュメントを直接読む方がより現実的です。 Quartzの公式ウェブサイトの住所はhttp://www.quartz-scheduler.org/
iii。 Quartz2.2.1構成ファイルの例
#stdschedulerfactoryで使用するデフォルトのプロパティファイル#別の#プロパティファイルが明示的に指定されていない場合、Quartzスケジューラインスタンスを作成します。 FALSEORG.QUARTZ.SCHEDULER.RMI.PROXY:FALSEORG.QUARTZ.SCHEDULER.WRAPJOBEXECUTIONINUSERTRASSACTION:false org.quartz.threadpool.class:org.quartz.simpl.simplethreadpoolorg.quartz.threadPool.ThreadCount: 10org.quartz.threadpool.threadpriority:5org.quartz.threadpool.threadsinheritcontextclassloaderofinitializingthread:true org.quartz.jobstore.misfirethreshold:60000 #====================================================================##configure Jobstore#======================================================================================構成、データをメモリ#org.quartz.jobstore.classに保存:org.quartz.simpl.ramjobstore#永続的な構成quartz.jobstore.class:org.quartz.impl.jdbcjobstore.jobstoretxorg.quartz.jobstore.driverdelegateclass:org.quartz.impl.jdbcjobstore.stdjdbcdeaseorg.jobstore.prent.jobstore org.quartz.jobstore.tableprefix:qrtz_org.quartz.jobstore.datasource:qzds #========================================================================================================= ====================================================================================================== Configure Datasources#====================================================================================================#JDBC driver org.quartz.datasource.qzds.driver:com.mysql.jdbc.driverorg.quartz.datasour ce.qzds.url:jdbc:mysql:// localhost:3306/quartzdborg.quartz.datasource.qzds.user:rotorg.quartz.datasource.qzds.password:123456org.quartz.datasource.qzds.maxconnection:10
4.データベース関連
永続性には、対応するデータベースにQuartzデータテーブルを事前に作成する必要があります。 Quartzリリースパッケージでは、Docs/DBTablesには、異なるデータベースに対応するSQLスクリプトがあります。
たとえば、MySQLは次のとおりです。
データテーブルフィールド説明: