quartz使用的心得体会
来源:优易学  2011-12-19 16:19:49   【优易学:中国教育考试门户网】   资料下载   IT书店
  最近在开发一套基于任务的协同系统,既然是基于任务的协同系统,就需要计算机自己在一定的时间去做某件事情,
  这样就需要用到任务调度.
  几个人经过讨论,最终决定使用quartz作为任务调度框架.因为quartz的持久化做的还是挺好的.万一服务器出问题,不用重新执行,也不用自己去写数据库操作.
  开始研究quartz的时候,感觉用着不是很舒服,至少和TimerTask比起来,很不舒服.
  因为用的是ssh框架,就想着把quartz也做到spring配置里去,
  做着做着,发现用spring配置quartz.,出现了一个小问题(忘记了是什么问题了),google了很久,貌似spring配置的话那个功能确实用不了,不得已,只能脱离spring了.
  在做quartz的时候,有几个问题:1.好像只能有一个quartz.properties 2.因为只能有一个quartz.properties,所以所有Scheduler也只能有一种保存方式,青年人网提示对有些Scheduler进行数据库存储,有些Scheduler直接扔内存的时候,就没有办法了.3.quartz自带的QuartzInitializerServlet并没有实现继续上次的执行.还有几个小问题!
  于是,我便找到了QuartzInitializerServlet的源文件,对它进行重新编辑.
  在web-inf的配置中,使用改后的QuartzInitializerServlet,这样,对于Scheduler的一些问题有了很好的解决.
  还有就是job和trigger的问题,最开始一直认为job是肯定要通过xml进行配置的,这样的话,就不能动态的去创建job了.有了很大的局限性.然后有看了一遍quartz的文档,于是就试着自己创建job和trigger.
  试了一下,果然可以,而且也确实做到了数据库里.
  于是把quartz.properties里的fileName去掉.运行,报了一个找不到quartz_job.xml的异常.
  然后打开JobInitializationPlugin文件,发现原来这里面的变量filname在实例化的时候,被赋予了一个值.然后对它进行了小小的改动.最终把xml也废掉了.如果不改JobInitializationPlugin的话,就需要在添加一个quartz_job.xml的文件,空着都可以.
  这样一来job也做到了动态添加.现在感觉这东西还是挺好用的!
  如果有人感兴趣.也可以试一试.

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训