我們都知道默認(rèn)的Quartz底層采用的是RAMJobStore,所有的Job,Trigger,Calendar都是用Dictionary,SortSet等等這樣的數(shù)據(jù)結(jié)構(gòu)進(jìn)行儲(chǔ)存,相對(duì)來說性
能肯定快的沒法說,但是面對(duì)災(zāi)難重啟的時(shí)候還是很拿不出手的,而且都是全內(nèi)存的,也沒法實(shí)現(xiàn)多機(jī)器搭建Quartz集群,這一點(diǎn)還是很討厭,雖然官方已經(jīng)
提供了一些關(guān)系性持久化存儲(chǔ)方案,但面對(duì)如今這么火的nosql,不進(jìn)行官方支持還是有點(diǎn)可惜,不過基于Quartz本身的插拔式設(shè)計(jì),一切都不是問題。
一:IJobStore
從github上下載源碼:https://github.com/quartznet/quartznet,從源碼你會(huì)發(fā)現(xiàn)IJobStore幾乎實(shí)現(xiàn)了所有對(duì)Trigger,Job和Scheduler所有的容器管理操作。
然后你可以看到它的幾個(gè)實(shí)現(xiàn)子類,全內(nèi)存的RAMJobStore。
public class RAMJobStore: IJobStore { .... }