一個定時更新cache框架
應(yīng)項目需要做了一個定時更新的 cache 框架,采用 spring+quartz 很方便的實現(xiàn),可以適用任何需要定時才更新的地方,比如靜態(tài)網(wǎng)頁 cache 等。代碼很簡單:
---------------------------------QuartzCacheHandler-------------------------------------








































































































































?
-----------------------------------QuartzCache-----------------------------------------------


































































---------------------------------------------------------------------------------------------------------
Web.xml 中只需加 2 句:
?











?
最后是applicationContext_quartzCache.xml配置文件,就是標(biāo)準(zhǔn)的spring結(jié)合quartz的配置文件:


















































































?
寫自己的QuartzCache子類并實現(xiàn)refresh方法,然后在配置文件中定義bean和相應(yīng)的trigger就能方便的實現(xiàn)定時cache了。示例中使用了 SimpleTriggerBean ,每2s更新一次。也可以使用CronTriggerBean,每天定時更新。 使用 cache ,只需調(diào)用 QuartzCacheHandler 的 get 和 getSe 就行, get 是在由 web 容器啟動 quartz 的場合使用, getSe 在使用 init 方法啟動時使用。 Get 中調(diào)用了自己寫的一個 ContextUtil ,它包含一個靜態(tài)的 applicationContex 的引用,在 spring 容器啟動后由 MyContextLoaderListener (重載 spring 的 ContextLoaderListener )填充。
這些東西也就幾個小時搞定,多虧了spring,quartz這些開源軟件啊。要自己用timer實現(xiàn),費時費力,擴展性,易用性等也會差很多。
posted on 2006-12-13 14:46 pesome 閱讀(4142) 評論(7) 編輯 收藏 所屬分類: 開源軟件