北極心空
應項目需要做了一個定時更新的 cache 框架,采用 spring+quartz 很方便的實現,可以適用任何需要定時才更新的地方,比如靜態網頁 cache 等。代碼很簡單:
---------------------------------QuartzCacheHandler-------------------------------------
-----------------------------------QuartzCache-----------------------------------------------
---------------------------------------------------------------------------------------------------------
Web.xml 中只需加 2 句:
最后是applicationContext_quartzCache.xml配置文件,就是標準的spring結合quartz的配置文件:
寫自己的QuartzCache子類并實現refresh方法,然后在配置文件中定義bean和相應的trigger就能方便的實現定時cache了。示例中使用了 SimpleTriggerBean ,每2s更新一次。也可以使用CronTriggerBean,每天定時更新。 使用 cache ,只需調用 QuartzCacheHandler 的 get 和 getSe 就行, get 是在由 web 容器啟動 quartz 的場合使用, getSe 在使用 init 方法啟動時使用。 Get 中調用了自己寫的一個 ContextUtil ,它包含一個靜態的 applicationContex 的引用,在 spring 容器啟動后由 MyContextLoaderListener (重載 spring 的 ContextLoaderListener )填充。
這些東西也就幾個小時搞定,多虧了spring,quartz這些開源軟件啊。要自己用timer實現,費時費力,擴展性,易用性等也會差很多。
Copyright @ 蘆葦 Powered by: .Text and ASP.NET Theme by: .NET Monster