纯javaweb项目整合quarz定时器
2019独角兽企业重金招聘Python工程师标准>>>
网上很多都是关于和spring整合的文章。这里整合的是纯javaweb项目。
比较坑的就是很多的文章的quartz_jobs.xml配置都是错的,并没有<job-detail>这一节点。
三步:
(1)web.xml中添加初始化加载
<servlet><servlet-name>QuartzInitializer</servlet-name><servlet-class>org.quartz.ee.servlet.QuartzInitializerServlet</servlet-class><init-param><param-name>config-file</param-name><param-value>/quartz.properties</param-value></init-param><init-param><param-name>shutdown-on-unload</param-name><param-value>true</param-value></init-param><init-param><param-name>start-scheduler-on-load</param-name><param-value>true</param-value></init-param><load-on-startup>1</load-on-startup></servlet>
(2)quartz_jobs.xml
<?xml version='1.0' encoding='utf-8'?>
<job-scheduling-dataxmlns="http://www.quartz-scheduler.org/xml/JobSchedulingData"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.quartz-scheduler.org/xml/JobSchedulingData http://www.quartz-scheduler.org/xml/job_scheduling_data_2_0.xsd"version="2.0"><schedule><job><name>ClearCacheJob</name><group>Clear</group><description>清除超过24小时的缓存</description><job-class>com.apps.quartz.ClearCacheJob</job-class></job><trigger><cron><name>Job_Trigger1</name><group>Tri_Group1</group><job-name>ClearCacheJob</job-name><job-group>Clear</job-group><cron-expression>0 0 1 * * ?</cron-expression></cron></trigger><job><name>DoSjJob</name><group>DoSj</group><description>处理</description><job-class>com.apps..quartz.DoSjJob</job-class></job><trigger><cron><name>Job_Trigger2</name><group>Tri_Group2</group><job-name>DoSjJob</job-name><job-group>DoSj</job-group><cron-expression>0 */5 * * * ?</cron-expression></cron></trigger></schedule>
</job-scheduling-data>
(3)配置quartz.properties
# Default Properties file for use by StdSchedulerFactory
# to create a Quartz Scheduler Instance, if a different
# properties file is not explicitly specified.
#
# ===========================================================================
# Configure Main Scheduler Properties 调度器属性
# ===========================================================================
org.quartz.scheduler.instanceName: DefaultQuartzScheduler
#org.quartz.scheduler.instanceid:AUTO
org.quartz.scheduler.rmi.export: false
org.quartz.scheduler.rmi.proxy: false
org.quartz.scheduler.wrapJobExecutionInUserTransaction: false
# ===========================================================================
# Configure ThreadPool 线程池属性
# ===========================================================================
#线程池的实现类(一般使用SimpleThreadPool即可满足几乎所有用户的需求)
org.quartz.threadPool.class: org.quartz.simpl.SimpleThreadPool
#指定线程数,至少为1(无默认值)(一般设置为1-100直接的整数合适)
org.quartz.threadPool.threadCount: 10
#设置线程的优先级(最大为java.lang.Thread.MAX_PRIORITY 10,最小为Thread.MIN_PRIORITY 1,默认为5)
org.quartz.threadPool.threadPriority: 5
#设置SimpleThreadPool的一些属性
#设置是否为守护线程
#org.quartz.threadpool.makethreadsdaemons = false
#org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread: true
#org.quartz.threadpool.threadsinheritgroupofinitializingthread=false
#线程前缀默认值是:[Scheduler Name]_Worker
#org.quartz.threadpool.threadnameprefix=swhJobThead;
# 配置全局监听(TriggerListener,JobListener) 则应用程序可以接收和执行 预定的事件通知
# ===========================================================================
# Configuring a Global TriggerListener 配置全局的Trigger监听器
# MyTriggerListenerClass 类必须有一个无参数的构造函数,和 属性的set方法,目前2.2.x只支持原始数据类型的值(包括字符串)
# ===========================================================================
#org.quartz.triggerListener.NAME.class = com.swh.MyTriggerListenerClass
#org.quartz.triggerListener.NAME.propName = propValue
#org.quartz.triggerListener.NAME.prop2Name = prop2Value
# ===========================================================================
# Configuring a Global JobListener 配置全局的Job监听器
# MyJobListenerClass 类必须有一个无参数的构造函数,和 属性的set方法,目前2.2.x只支持原始数据类型的值(包括字符串)
# ===========================================================================
#org.quartz.jobListener.NAME.class = com.swh.MyJobListenerClass
#org.quartz.jobListener.NAME.propName = propValue
#org.quartz.jobListener.NAME.prop2Name = prop2Value
# ===========================================================================
# Configure JobStore 存储调度信息(工作,触发器和日历等)
# ===========================================================================
# 信息保存时间 默认值60秒
#org.quartz.jobStore.misfireThreshold: 60000
#保存job和Trigger的状态信息到内存中的类
#org.quartz.jobStore.class: org.quartz.simpl.RAMJobStore
# ===========================================================================
# Configure SchedulerPlugins 插件属性 配置
# ===========================================================================
# 自定义插件
#org.quartz.plugin.NAME.class = com.swh.MyPluginClass
#org.quartz.plugin.NAME.propName = propValue
#org.quartz.plugin.NAME.prop2Name = prop2Value
#配置trigger执行历史日志(可以看到类的文档和参数列表) 可在控制台和日志输出(一般不需要)
#org.quartz.plugin.triggHistory.class = org.quartz.plugins.history.LoggingTriggerHistoryPlugin
#org.quartz.plugin.triggHistory.triggerFiredMessage = Trigger {1}.{0} fired job {6}.{5} at: {4, date, HH:mm:ss MM/dd/yyyy}
#org.quartz.plugin.triggHistory.triggerCompleteMessage = Trigger {1}.{0} completed firing job {6}.{5} at {4, date, HH:mm:ss MM/dd/yyyy} with resulting trigger instruction code: {9}
#配置job调度插件 quartz_jobs(jobs and triggers内容)的XML文档
#加载 Job 和 Trigger 信息的类 (1.8之前用:org.quartz.plugins.xml.JobInitializationPlugin)
org.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.XMLSchedulingDataProcessorPlugin
#指定存放调度器(Job 和 Trigger)信息的xml文件,默认是classpath下quartz_jobs.xml
org.quartz.plugin.jobInitializer.fileNames = quartz_jobs.xml
#org.quartz.plugin.jobInitializer.overWriteExistingJobs = false
org.quartz.plugin.jobInitializer.failOnFileNotFound = true
#自动扫描任务单并发现改动的时间间隔,单位为秒
org.quartz.plugin.jobInitializer.scanInterval = 10
#覆盖任务调度器中同名的jobDetail,避免只修改了CronExpression所造成的不能重新生效情况
org.quartz.plugin.jobInitializer.wrapInUserTransaction = false
# ===========================================================================
# Sample configuration of ShutdownHookPlugin ShutdownHookPlugin插件的配置样例
# ===========================================================================
#org.quartz.plugin.shutdownhook.class = \org.quartz.plugins.management.ShutdownHookPlugin
#org.quartz.plugin.shutdownhook.cleanShutdown = true
#
# Configure RMI Settings 远程服务调用配置
#
#如果你想quartz-scheduler出口本身通过RMI作为服务器,然后设置“出口”标志true(默认值为false)。
#org.quartz.scheduler.rmi.export = false
#主机上rmi注册表(默认值localhost)
#org.quartz.scheduler.rmi.registryhost = localhost
#注册监听端口号(默认值1099)
#org.quartz.scheduler.rmi.registryport = 1099
#创建rmi注册,false/never:如果你已经有一个在运行或不想进行创建注册
# true/as_needed:第一次尝试使用现有的注册,然后再回来进行创建
# always:先进行创建一个注册,然后再使用回来使用注册
#org.quartz.scheduler.rmi.createregistry = never
#Quartz Scheduler服务端端口,默认是随机分配RMI注册表
#org.quartz.scheduler.rmi.serverport = 1098
#true:链接远程服务调度(客户端),这个也要指定registryhost和registryport,默认为false
# 如果export和proxy同时指定为true,则export的设置将被忽略
#org.quartz.scheduler.rmi.proxy = false
转载于:https://my.oschina.net/luleilei516/blog/1571285
纯javaweb项目整合quarz定时器相关推荐
- 从无到有整合SpringMVC-MyBatis项目(1):搭建JavaWeb项目
前言: 近日有个销售类网站的项目,用了很久的Springboot,突发奇想回到过去,基于SpringMVC-MyBatis框架搭建项目,惭愧的是有些配置已记不清楚,所以决定写篇博客来记录下整个搭建过程 ...
- JavaWeb项目使用BlazeDS整合Flex进行RemoteObject数据交互
目标: 1,Java Web Project整合Flex 2,Flex中AS代码调用RemoteObject与Java数据交互 环境: 1,JDK1.6 2,MyEclipse10 3,Adobe F ...
- IDEA整合Tomcat启动javaweb项目
1.前言 突然兴起想要写这么一篇博客,不是因为别的,纯属是因为小编还是一个小白的时候,听某马和某硅谷的javaweb网课时,遇到这个章节一直启动不起来,虽然小编依旧是个菜鸡,但是今时不同往日了,小编已 ...
- javaweb项目搭建ehcache缓存系统
转载自 javaweb项目搭建ehcache缓存系统 EhCache 是一个纯Java的进程内缓存框架,具有快速.精干等特点,是Hibernate中默认的CacheProvider,同时在项目开发中 ...
- JavaWeb项目(登录注册页面)全过程详细总结
文章目录 JavaWeb项目(登录注册页面)全过程总结 一.环境准备与开发工具 二.创建 JavaWeb 项目2.1 新建Dynamic Web Project项目2.2 创建前端页面2.2.1 登录 ...
- 20套初级javaweb项目开发案例(适合白小)——计算机毕业设计
20套javaweb项目开发案例,数据库是mysql.有jsp+servlet,ssh和ssm项目.纯项目源码,配套详细项目讲解说明.适合初学者使用.可以用作课题项目,期末作业等
- JavaWeb入门到精通-搭建javaweb环境并运行javaweb项目-下
上篇中咱们说了一下JDK的安装与配置和tomcat下载与运行(未完).今天我们就来说一下idea运行javaweb和上次尚未说完的tomcat下载与运行,下面一起开始吧! 2.关闭tomcat服务器 ...
- Javaweb项目入门到实战-搭建javaweb环境并运行(下)
咱们继续上一篇中剩下的内容idea运行javaweb和上次尚未说完的tomcat下载与运行,let's go !!! 熟悉的配方搭配精美的视频: 动力节点最新JavaWeb视频教程,javaweb零基 ...
- 动力节点-javaweb项目入门到实战教程-下
继续上文的内容,are you ready?let's go !!! 熟悉的配方搭配精美的视频:动力节点最新JavaWeb视频教程,javaweb零基础入门到精通IDEA版-持续更新中_哔哩哔哩_bi ...
- java优化登录注册,Java-Web(项目)优化登录注册
Java-Web(项目)优化登录注册 Java-Web(项目)优化登录注册 实现代码: package com.homework.dao1; public interface Login { publ ...
最新文章
- 老王Python-进阶篇4-异常处理1.3(周末习题)
- 一个伟大、孤僻、特立独行的灵魂:天才已去60年
- CSS------如何让大小不一样的div中心对齐
- django-groundwork
- tableView的用法具体解释
- WPF中的图像处理简介
- 信息爆炸时代,对待信息的三种方式
- 图论最短路:Bellman-Ford与其优化SPFA算法的一点理解
- TangerineWallpaper for Mac(高清橘子壁纸) 中文版
- pe服务器注册表,在WIN PE环境下修改或导入系统注册表项
- STM32F107VCT6开发板 CAN总线通信实验----发送和接收
- $.ajax()方法详解
- linux安装atari环境实录
- cearte-react-app中craco中优雅引入svg【自定义宽、高、颜色,仅需5步】
- 生产环境nginx集群高可用方案
- HDU 4379 - The More The Better
- 快速搭建APP的服务器
- 消息队列中间件 Message Queue 简称:MQ
- 小学教师计算机模块报哪些,小学计算机教师个人工作总结
- AS1015降压芯片(BUCK电路):噗,那些年PCB布线的爱恨情仇!
热门文章
- 身份认证设计的基本准则
- 企业如何确定需要什么样的产品经理
- 面向对象之软件需求中的体系构造
- 嵌入式系统调试仿真工具
- Pyinstaller将外部数据文件打包到可执行文件中(onefolder or onefile)教程
- 【数据结构笔记】Leetcode:718. 最长重复子数组(动态规划)
- java 象限分析_用四种象限分析你(未来的人生走向)
- axure8 事件改变样式_Axure RP 8 Beta更新介绍(三):部件样式
- 八爪鱼导出到mysql数据库_数据导出到Oracle数据库的方法 - 八爪鱼采集器
- oracle delete循环删除_oracle性能优化:高水位线(HWM)详解--如何计算HWM