使用 Spring 实现定时器任务,定时统计汇总
来源:互联网 发布:php 开发后端管理系统 编辑:程序博客网 时间:2024/06/11 05:48
使用Spring 可以很方便的实现定时器任务,我们只需要通过applicationContext.xml 的简单配置就可已实现,前提是现有一个人实现统计功能的java bean;
以下是具体的实现步骤:
第一步:定义实现了统计功能的bean.
<!-- 1. 业务功能类 负责汇总统计-->
<bean id="statTaskService" class="com.hisw.business.service.StatTaskService">
</bean>
第二步:配置任务的代理
<!-- 2. 定义任务,配置代理类-->
<bean id="statTask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="statTaskService" />
<property name="targetMethod" value="statDays" />
<property name="concurrent" value="false" />
</bean>
第三步:配置触发器,设置触发时期
<!-- 3, 配置触发器,设置触发 -->
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="statTask" />
<property name="cronExpression" value="0 0/5 * * * ?" />
<!-- <value>0 1 * * * ?</value> -->
</bean>
第四步:配置一个调度器,负责调度管理触发器 调度器只能有一个,触发器和任务可以有多个
<bean autowire="no"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers"> <!-- triggers是Spring定时器的特殊属性 -->
<list>
<ref local="cronTrigger" />
</list>
</property>
</bean>
整体配置文件如下,只列出有用部分:
<!-- 销售统计汇总定时器 --><!-- 1. 业务功能类 负责汇总统计--><bean id="statTaskService" class="com.hisw.business.service.StatTaskService"></bean><!-- 2. 定义任务,配置代理类--><bean id="statTask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"><property name="targetObject" ref="statTaskService" /> <property name="targetMethod" value="statDays" /> <property name="concurrent" value="false" /> </bean><!-- 3, 配置触发器,设置触发 --><bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail" ref="statTask" /> <property name="cronExpression" value="0 0/5 * * * ?" /> <!-- <value>0 1 * * * ?</value> --></bean> <!-- 4.配置一个调度器用来管理触发器 调度 --> <bean autowire="no"class="org.springframework.scheduling.quartz.SchedulerFactoryBean"><property name="triggers"> <!-- triggers是Spring定时器的特殊属性 --><list><ref local="cronTrigger" /><ref local="crawlerCron1" /> </list></property></bean>
实现任务的javabean 如下:
import java.math.BigDecimal;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.List;import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.Transaction;/***实现业务功能的bean*/public class StatTaskService extends BaseDao{public String queryString ="";public DateFormat format=new SimpleDateFormat("yyyy-MM-dd");/** * @author Administrator * */public void statDays(){System.out.println("统计任务执行");}}
如果初始化错误,一般可能因为配置中cronExpression 配置格式有问题,
- 使用 Spring 实现定时器任务,定时统计汇总
- 使用spring定时器注解实现定时任务
- java spring-quartz定时器实现定时任务
- Spring 定时器 定时执行任务
- Spring集成Quartz定时器实现定时作业任务
- 定时任务实现Timer, TimeTask, ScheduledExecutorService及Spring定时器
- 定时任务实现Timer, TimeTask, ScheduledExecutorService及Spring定时器
- Java定时器(二)之Spring定时任务、Quartz实现
- 定时任务实现Timer, TimeTask, ScheduledExecutorService及Spring定时器
- Java定时器实现定时任务
- 如何使用spring 定时调度 【 Spring+Quartz实现定时任务 】
- spring中使用quartz实现定时任务
- spring使用Quartz实现定时任务
- 使用spring quartz实现定时任务
- 使用Spring的@Scheduled实现定时任务
- 使用Spring的@Scheduled实现定时任务
- 使用Spring的@Scheduled实现定时任务
- 使用spring quartz实现定时任务
- 一款基于android的运动辅助软件
- java的所谓一次编译,到处运行
- 反转链表
- java在什么情况下触发Full GC
- 用ARM汇编实现64位数据的运算
- 使用 Spring 实现定时器任务,定时统计汇总
- Tyvj 1056 能量项链 dp
- 多人聊天程序的实现
- rails中的zTree异步加载
- Day11 - userdel删除指定用户
- 单例模式
- cocos2d-x-2.2 window下配置笔记(ADT+android-ndk-r9b) 无cygwin
- ORA-16191 PING[ARC2]: Heartbeat failed to connect to standby
- 贝叶斯学习举例--学习分类文本