statTaskService

   使用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 配置格式有问题,
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值