Quartz简单案例
需求需要开发一个每天定时推送消息给微信用户,第一次接触quartz,简单案例
1. 先编辑要执行的任务
测试类代码
package com.wqq.test.quartz; import org.springframework.stereotype.Component;
import com.wqq.assist.helper.DateHelper;
/**
* @author wangqq
* @version 创建时间:2018年5月22日 下午2:11:44
* 日报表推送
*/
@Component
public class SendDailyReportTask { public void execute(){
System.out.println("测试 "+DateHelper.format(new Date(), "yyyy-MM-dd HH:mm:ss"));
}
}
2. 配置quartz的配置文件

在resource下面配两个文件
这篇文章相信描述了quartz.properties里面各个参数的意思https://blog.csdn.net/yixiaoping/article/details/10476817,有兴趣可以看一下
quartz.properties
org.quartz.scheduler.instanceName=HomeScheduler
org.quartz.threadPool.threadCount=
org.quartz.jobStore.class =org.quartz.simpl.RAMJobStore
spring-quartz.xml
<!-- 自己需要执行的类 -->
<bean id="sendDailyReportTask" class="com.wqq.test.quartz.SendDailyReportTask"></bean> <!-- 配置任务 -->
<bean id="sendDailyReportJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <!-- 执行的类 -->
<property name="targetObject">
<ref bean="sendDailyReportTask" />
</property>
<!-- 类中的方法 -->
<property name="targetMethod">
<value>execute</value>
</property>
</bean> <!-- 指定触发器,以及执行时间 -->
<bean id="sendDailyReportTrigger"
class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<ref bean="sendDailyReportJob" />
</property>
<!-- 每隔一秒执行一次 -->
<property name="cronExpression">
<value>* */ * * * ?</value>
</property>
</bean> <!-- ======================== 调度工厂 ======================== -->
<bean id="SpringJobSchedulerFactoryBean"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<!-- 添加触发器 -->
<property name="triggers">
<list>
<ref bean="sendDailyReportTrigger" /> </list>
</property>
<property name="configLocation" value="classpath:quartz/quartz.properties"></property>
</bean>
3.在web.xml文件中添加quartz的配置文件
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:mybatis/*.xml,classpath:mongodb/spring-*.xml,classpath:quartz/spring-*.xml</param-value>
</context-param>
执行结果

Quartz简单案例的更多相关文章
- JAVAEE——BOS物流项目13:Quartz入门案例、核心概念、cron 表达式的格式(了解)
1.quartz入门案例 本入门案例基于spring和quartz整合完成. 第一步:创建maven工程,导入spring和quartz相关依赖 第二步:创建任务类 第三步:在spring配置文件中配 ...
- Servlet请求头response应用简单案例
Servlet请求头response应用简单案例:访问AServlet重定向到BServlet,5秒后跳到CServlet,并显示图片: AServlet package cn.yzu; import ...
- winform 通过 html 与swf 交互 简单案例
在上一篇 winform 与 html 交互 简单案例 中讲了winform与html之间的简单交互,接下来的内容是在winform中以html为中转站,实现将swf嵌入winform中并实现交互. ...
- [Design Pattern] Front Controller Pattern 简单案例
Front Controller Pattern, 即前端控制器模式,用于集中化用户请求,使得所有请求都经过同一个前端控制器处理,处理内容有身份验证.权限验证.记录和追踪请求等,处理后再交由分发器把请 ...
- [Design Pattern] Observer Pattern 简单案例
Observer Pattern,即观察者模式,当存在一对多关系,例如一个对象一有变动,就要自动通知被依赖的全部对象得场景,属于行为类的设计模式. 下面是一个观察者模式的简单案例. Observer ...
- [Design Pattern] Mediator Pattern 简单案例
Meditor Pattern,即调解模式,用一个调解类类处理所有的沟通事件,使得降低多对象之间的沟通难度,属于行为类的设计模式.为了方便理解记忆,我也称其为,沟通模式. 下面是一个调解模式的简单案例 ...
- [Design Pattern] Iterator Pattern 简单案例
Iterator Pattern,即迭代时模式,按照顺序依次遍历集合内的每一个元素,而不用了解集合的底层实现,属于行为类的设计模式.为了方便理解记忆,我也会称其为遍历模式. 下面是一个迭代器模式的简单 ...
- [Design Pattern] Command Pattern 简单案例
Command Pattern, 即命令模式,把一个命令包裹在一个对象里面,将命令对象传递给命令的执行方,属于行为类的设计模式 下面是命令模式的一个简单案例. Stock 代表被操作的对象.Order ...
- [Design Pattern] Proxy Pattern 简单案例
Proxy Pattern, 即代理模式,用一个类代表另一个类的功能,用于隐藏.解耦真正提供功能的类,属于结构类的设计模式. 下面是 代理模式的一个简单案例. Image 定义接口,RealImage ...
随机推荐
- HBase中创建索引
hbasene(https://github.com/akkumar/hbasene)是开源项目,在hbase存储上封装使用Lucene来创建索引,代码API非常简单,熟悉lucene的朋友可以很方便 ...
- Salesforce的数据权限机制
本文主要介绍了 Salesforce 对于系统中数据的访问控制是如何设计的,然后也了解了下 Alfresco 和 Oracle VPD 的数据权限机制.希望对一些业务系统的数据权限的访问控制设计能有所 ...
- linux 下查看wwn号
PC server主机与FC存储进行连接时,一般需要加装HBA卡,两者之间衔接的一个重要参数就是wwn号.redhat或suse下查看wwn号的方法如下.一.SuSE Linux 9查看 /proc/ ...
- YUV420格式解析
一般的的YUV420图像格式实际上是Y'UV,420指的是其在Y U V上面的采样率.在YUV420的格式中,首先存储每一个像素的Y'值,然后跟着存储的是每2*2方阵采样一次的U值,最后存储的是每2* ...
- Fast Paxos
http://blog.csdn.net/chen77716/article/details/7297122 自从Lamport在1998年发表Paxos算法后,对Paxos的各种改进工作就从未停止, ...
- GPU Accelerated Computing with Python
https://developer.nvidia.com/how-to-cuda-Python python is one of the fastest growing and most popula ...
- Django中的原子事务相关注意事项
Django中的原子事务支持(transaction.atomic)方式函数装饰器或者with语句,这种方式特别是前者和spring里面的AOP事务支持方式基本等同,当然其实质方式都是原始的try.. ...
- mysql-高级操作
主键冲突 主键冲突的时候,可以选择更新或者替换进行处理 更新 主键冲突,更新操作. Insert into 表名[(字段列表:包含主键)] values(值列表) on duplicate key u ...
- 局部内部类访问它所在方法的局部变量时,要求该局部变量必须声明为final的原因
这是java的一条规则.那么为什么会有这条规则呢?要想弄懂这个问题,就需要弄懂局部内部类对象和局部变量的生命周期的谁更长的问题. 首先,看一段代码,以没有将变量声明为final的代码作为例子,代码如下 ...
- python_code list_1
>>> def is_not_empty(s): return s and len(s.strip()) > 0 >>> filter(is_not_empt ...