第一篇中增加的是程序代码的实现,本篇我们将通过配置文件进行定时器的配置,减少代码量,提高灵活性。

1、需要用到的文件:quartz.properties,据说这个文件如果没有的话,按默认的走,结果布署到tomcat中,提示找不到该文件;

  1. #============================================================================
  2.  
  3. # Configure Main Scheduler Properties
  4.  
  5. #============================================================================
  6.  
  7. org.quartz.scheduler.instanceName = QuartzScheduler
  8.  
  9. org.quartz.scheduler.instanceId = AUTO
  10.  
  11. #============================================================================
  12.  
  13. # Configure ThreadPool
  14.  
  15. #============================================================================
  16.  
  17. org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
  18.  
  19. org.quartz.threadPool.threadCount =2
  20.  
  21. org.quartz.threadPool.threadPriority = 5
  22.  
  23. #============================================================================
  24.  
  25. # Configure JobStore
  26.  
  27. #============================================================================
  28.  
  29. org.quartz.jobStore.misfireThreshold = 60000
  30.  
  31. org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore
  32.  
  33. #============================================================================
  34.  
  35. # Configure Plugins
  36.  
  37. #============================================================================
  38.  
  39. org.quartz.plugin.triggHistory.class = org.quartz.plugins.history.LoggingJobHistoryPlugin
  40.  
  41. org.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.JobInitializationPlugin
  42.  
  43. org.quartz.plugin.jobInitializer.fileNames = jobs.xml
  44.  
  45. org.quartz.plugin.jobInitializer.overWriteExistingJobs = true
  46.  
  47. org.quartz.plugin.jobInitializer.failOnFileNotFound = true
  48.  
  49. org.quartz.plugin.jobInitializer.scanInterval = 10
  50.  
  51. org.quartz.plugin.jobInitializer.wrapInUserTransaction = false

 2、jobs.xml ,上文提到的配置文件,配置触发器和job名称等;

  1. <?xml version='1.0' encoding='utf-8'?>
  2. <quartz xmlns="http://www.opensymphony.com/quartz/JobSchedulingData"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://www.opensymphony.com/quartz/JobSchedulingData
  5. http://www.opensymphony.com/quartz/xml/job_scheduling_data_1_5.xsd"
  6. version="1.5">
  7. <job>
  8. <job-detail>
  9. <name>HelloWorld</name>
  10. <group>DEFAULT</group>
  11. <description>
  12. A job that just for test
  13. </description>
  14. <job-class>
  15. cn.jfinal.job.RedPacketValidate
  16. </job-class>
  17. <volatility>false</volatility>
  18. <durability>false</durability>
  19. <recover>false</recover>
  20. </job-detail>
  21. <trigger>
  22. <simple>
  23. <name>HelloTrigger1</name>
  24. <group>DEFAULT</group>
  25. <job-name>RedPacketValidate</job-name>
  26. <job-group>DEFAULT</job-group>
  27. <start-time>2015-10-26T16:56:30</start-time>
  28. <!-- repeat indefinitely every 10 seconds -->
  29. <repeat-count>-1</repeat-count>
  30. <repeat-interval>10000</repeat-interval>
  31. </simple>
  32. </trigger>
  33. </job>
  34. </quartz>

上面这两个文件要放在apache-tomcat-7.0.59\webapps\jfinal_demo\WEB-INF\classes 中,才能有效。

3、一些必须的jar包要添加到lib中:

创建一个Web项目,将quartz-1.6.0.jar,以及lib目录下面core下所有jar,optional目录下的所有commons-beanutils.jar和commons-digester-1.7.jar,build目录下的jta.jar都放入Web项目的WEB-INF"lib目录下。

jta.jar说明:java JTA规范;

4、web.xml 配置

  1. <servlet>
  2. <servlet-name>QuartzInitializer</servlet-name>
  3. <display-name>Quartz Initializer Servlet</display-name>
  4. <servlet-class>
  5. org.quartz.ee.servlet.QuartzInitializerServlet
  6. </servlet-class>
  7. <load-on-startup>1</load-on-startup>
  8. <init-param>
  9. <param-name>config-file</param-name>
  10. <param-value>/quartz.properties</param-value>
  11. </init-param>
  12. <init-param>
  13. <param-name>shutdown-on-unload</param-name>
  14. <param-value>true</param-value>
  15. </init-param>
  16. </servlet>

总体参考:http://www.cnblogs.com/phinecos/archive/2008/09/03/1283103.html

Jfinal中定时器的初步探索(二)的更多相关文章

  1. Jfinal中定时器的初步探索(一)

    1.添加包引用:/jfinal_demo/WebContent/WEB-INF/lib/quartz-all-1.6.1.jar 注意版本号,这个版本是现在项目中使用的,已经有更高版本了,但这版比较稳 ...

  2. Springboot与ActiveMQ、Solr、Redis中分布式事物的初步探索

    Springboot与ActiveMQ.Solr.Redis中分布式事物的初步探索 解决的场景:事物中的异步问题,当要求数据库与solr服务器的最终一致时. 程序条件: 利用消息队列,当数据库添加成功 ...

  3. NoSQL初探之人人都爱Redis:(4)Redis主从复制架构初步探索

    一.主从复制架构简介 通过前面几篇的介绍中,我们都是在单机上使用Redis进行相关的实践操作,从本篇起,我们将初步探索一下Redis的集群,而集群中最经典的架构便是主从复制架构.那么,我们首先来了解一 ...

  4. 【转】 NoSQL初探之人人都爱Redis:(4)Redis主从复制架构初步探索

    一.主从复制架构简介 通过前面几篇的介绍中,我们都是在单机上使用Redis进行相关的实践操作,从本篇起,我们将初步探索一下Redis的集群,而集群中最经典的架构便是主从复制架构.那么,我们首先来了解一 ...

  5. [入门级] 基于 visual studio 2010 mvc4 的图书管理系统开发初步 (二)

    [入门级] 基于 visual studio 2010 mvc4 的图书管理系统开发初步 (二) Date  周六 10 一月 2015 By 钟谢伟 Category website develop ...

  6. [转]Qt中定时器使用的两种方法

    Qt中定时器的使用有两种方法,一种是使用QObject类提供的定时器,还有一种就是使用QTimer类. 其精确度一般依赖于操作系统和硬件,但一般支持20ms.下面将分别介绍两种方法来使用定时器. 方法 ...

  7. Cardboard虚拟现实开发初步(二)

    Google Cardboard 虚拟现实眼镜开发初步(二) Cardboard SDK for Unity的使用 上一篇文章作为系列的开篇,主要是讲了一些虚拟现实的技术和原理,本篇就会带领大家去看一 ...

  8. jfinal中如何使用过滤器监控Druid监听SQL执行?

    摘要:最开始我想做的是通过拦截器拦截SQL执行,但是经过测试发现,过滤器至少可以监听每一个SQL的执行与返回结果.因此,将这一次探索过程记录下来. 本文分享自华为云社区<jfinal中使用过滤器 ...

  9. 前端开发:面向对象与javascript中的面向对象实现(二)构造函数与原型

    前端开发:面向对象与javascript中的面向对象实现(二)构造函数与原型 前言(题外话): 有人说拖延症是一个绝症,哎呀治不好了.先不说这是一个每个人都多多少少会有的,也不管它究竟对生活有多么大的 ...

随机推荐

  1. 微信OAuth2网页授权

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using YTO.WeiX ...

  2. GridView 分页方法

    要实现GrdView分页的功能. 操作如下: 1.更改GrdView控件的AllowPaging属性为true. 2.更改GrdView控件的PageSize属性为 任意数值(默认为10) 3.更改G ...

  3. HDU 1074

    http://acm.hdu.edu.cn/showproblem.php?pid=1074 每个任务有一个截止日期和完成时间,超过截止日期一天扣一分,问完成全部任务最少扣几分,并输出路径 最多15个 ...

  4. 使用Office 365 试用账户 体验Office 365功能

    首先,需要申请Office 365 Enterprise E3版本的试用账户. 在浏览器中,输入以下地址,然后回车: http://products.office.com/en-us/business ...

  5. LeetCode Binary Tree Paths(简单题)

    题意: 给出一个二叉树,输出根到所有叶子节点的路径. 思路: 直接DFS一次,只需要判断是否到达了叶子,是就收集答案. /** * Definition for a binary tree node. ...

  6. 《JS高程》引用类型学习笔记

    2月圆满的结束了,结束之前是如凤凰般的涅槃.一边上班,一边搞科研的忙碌有点让人透不过气,心会不由得浮躁起来.但是,无论什么事情,只要充满耐心.专心去做,总会朝好的方向发展,心态真的很重要.Anyway ...

  7. 如何让Visual Studio 清除最近打开项目 关闭上次未关闭的标签窗口

    删除最近打开的文件: 打开HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\FileMRUList 删除最近打开的项目: 打开HKEY_CUR ...

  8. iPhone 上拨号键盘的发音规律

    上个学期在信号处理课上选做的题目和这个问题正好相关. 如焕杰同学所说,iPhone拨号音是使用双音多频信号(DTMF).双音多频信号是贝尔实验室发明的,通常用于发送被叫号码,它取代了早起的脉冲拨号方法 ...

  9. mysql启动错误与修复

    昨天想着备份数据库,但是没有成功,错误原因是#Got errno 28 on write 查到是因为磁盘空间不足或者mysql设置中max_allowed_packet变量设置过小 在mysql命令行 ...

  10. 【HAOI2009】【P1307】毛毛虫

    感觉相比其他树归题简单多了,不过有点绕(也许是我的思路很奇怪一.一)(这是省选题啊,就算作为T1这题也太水了,HA好弱……) 原题: 对于一棵树,我们可以将某条链和与该链相连的边抽出来,看上去就象成一 ...