當前位置:編程學習大全網 - 源碼下載 - 為什麽quartz的表每次都要全部刪除然後再從新生成才能按照規定的時間來執行難呢

為什麽quartz的表每次都要全部刪除然後再從新生成才能按照規定的時間來執行難呢

首先妳應該使用的是持久化的quartz,所有定時任務的情況都是保存在數據庫表總的,每次啟動時,scheduler容器都是按照qrtz_triggers等表內存儲的信息來執行定時任務(主要包括cron表達式,上壹次執行時間) 妳只要修改持久化表中相應的表達式即可,以下的信息希望能幫到妳

QRTZ_CALENDARS 以 Blob 類型存儲 Quartz 的 Calendar 信息

QRTZ_CRON_TRIGGERS 存儲 Cron Trigger,包括 Cron表達式和時區信息

QRTZ_FIRED_TRIGGERS 存儲與已觸發的 Trigger 相關的狀態信息,以及相聯 Job的執行信息 QRTZ_PAUSED_TRIGGER_GRPS 存儲已暫停的 Trigger 組的信息

QRTZ_SCHEDULER_STATE 存儲少量的有關 Scheduler 的狀態信息,和別的 Scheduler實例(假如是用於壹個集群中)

QRTZ_LOCKS 存儲程序的悲觀鎖的信息(假如使用了悲觀鎖)

QRTZ_JOB_DETAILS 存儲每壹個已配置的 Job 的詳細信息

QRTZ_JOB_LISTENERS 存儲有關已配置的 JobListener 的信息

QRTZ_SIMPLE_TRIGGERS 存儲簡單的Trigger,包括重復次數,間隔,以及已觸的次數

QRTZ_BLOG_TRIGGERS Trigger 作為 Blob 類型存儲(用於 Quartz 用戶用 JDBC創建他們自己定制的 Trigger 類型,JobStore 並不知道如何存儲實例的時候)

QRTZ_TRIGGER_LISTENERS 存儲已配置的 TriggerListener 的信息

QRTZ_TRIGGERS 存儲已配置的 Trigger 的信息

表qrtz_job_details: 保存job詳細信息,該表需要用戶根據實際情況初始化

job_name:集群中job的名字,該名字用戶自己可以隨意定制,無強行要求

job_group:集群中job的所屬組的名字,該名字用戶自己隨意定制,無強行要求

job_class_name:集群中個note job實現類的完全包名,quartz就是根據這個路徑到classpath找到該job類

is_durable:是否持久化,把該屬性設置為1,quartz會把job持久化到數據庫中

job_data:壹個blob字段,存放持久化job對象

表qrtz_triggers: 保存trigger信息

trigger_name: trigger的名字,該名字用戶自己可以隨意定制,無強行要求

trigger_group:trigger所屬組的名字,該名字用戶自己隨意定制,無強行要求

job_name: qrtz_job_details表job_name的外鍵

job_group: qrtz_job_details表job_group的外鍵

trigger_state:當前trigger狀態,設置為ACQUIRED 表示正在執行,如果設置為WAITING,則job會等待被觸發

trigger_cron:觸發器類型,使用cron表達式

表qrtz_cron_triggers:存儲cron表達式表

trigger_name: qrtz_triggers表trigger_name的外鍵

trigger_group: qrtz_triggers表trigger_group的外鍵

cron_expression:cron表達式

表qrtz_scheduler_state:存儲集群中note實例信息,quartz會定時讀取該表的信息判斷集群中每個實例的當前狀態

instance_name:之前配置文件中org.quartz.scheduler.instanceId配置的名字,就會寫入該字段,如果設置為AUTO,quartz會根據物理機名和當前時間產生壹個名字

last_checkin_time:上次檢查時間

checkin_interval:檢查間隔時間

  • 上一篇:Axure有哪些使用小技巧?Axure7個使用小技巧分享
  • 下一篇:魔獸世界刺殺盜賊。看看對不對。我用魔法盒做的。
  • copyright 2024編程學習大全網