本文介紹了中斷石英群集中的作業的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我有一個具有多個實例的Quartz設置,并且我希望在作業執行的任何位置中斷該作業。正如文檔中所說,Scheduler.interrupt()
方法不支持集群,因此我正在尋找一些常見的實踐來克服這種限制。
推薦答案
好的,這里有一些您應該用來實現此目的的基本知識。
在集群模式下運行時,有關當前運行的作業的信息顯示在石英表中。例如,q_fired_triggers
包含正在執行的作業。
該表的第一列是負責該表的調度程序名稱。因此,很容易知道誰在做什么。
然后,如果您啟用Quartz實例的JMX導出org.quartz.scheduler.jmx.export
,那么您將啟用一個新的入口點來分別遠程管理每個調度程序。MBean提供方法boolean interruptJob("JobName", "JobGroup")
然后您”只是“需要在相應的計劃程序實例上調用此方法才能有效地中斷它。
我手動嘗試了所有流程,運行正常,只需自動化:)
HIH
這篇關于中斷石英群集中的作業的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,