北极心空
应项目需要做了一个定时更新的 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