Spring Quartz定时器入门

原创 2018年04月16日 15:24:04

第一步:导入必须要的包
spring核心包
spring-contxet-support-3.2.0.M2.jar
quartz-all-1.6.3.jar
commons-collections-3.1.jar
(如果有报错,可能还要导入slf4j-api-1.7.25.jar和slf4j-log4j-1.7.25.jar这两个包)
第二步:创建定时器的pojo类

//定时器
public class OrderTimeTask {
    private OrderService orderService;

    public OrderService getOrderService() {
        return orderService;
    }

    public void setOrderService(OrderService orderService) {
        this.orderService = orderService;
    }


    public void timeTask(){

        String payment = "未支付";
        String userId = UserAction.userId;

         List<Order> orders = orderService.getMyOrderByPayment(userId,payment);

        long nd = 1000 * 24 * 60 * 60;
        long nh = 1000 * 60 * 60;
        long nm = 1000 * 60;
        long ns = 1000;

        for(Order order:orders){
            long orderTime = order.getOrderTime().getTime();
            long nowTime = new Date().getTime();
            long diff = nowTime - orderTime;
            long sec = diff / ns;
            if(sec >5*60*60){
                orderService.deleteOrderByOrderId(order.getOrderId());
            }
        }
    }

}        

第三步:配置想spring的applicationContext.xml文件

 <!--创建定时任务的实体类bean-->
    <bean name="orderTimeTask" class="com.wxj.timer.OrderTimeTask">
        <property name="orderService" ref="orderService"></property>
    </bean>

    <!--配置方法(任务)-->
    <bean name="jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <!-- 目标对象 -->
        <property name="targetObject" ref="orderTimeTask"></property>
        <!-- 是否同时发生 -->
        <property name="concurrent" value="false"></property>
        <!-- 目标方法 -->
        <property name="targetMethod" value="timeTask"></property>
    </bean>

    <!--配置执行任务的时间间隔-->
    <bean name="cronTriggerBean" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
        <property name="jobDetail" ref="jobDetail"></property>
        <!-- 这里的间隔时间的配置,如果不会配置,可以参考时间配置规则 -->
        <property name="cronExpression" value="0 0/1 * * * ?"></property>

    </bean>

    <!--开启定时任务-->
    <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="triggers">
            <list>
                <ref bean="cronTriggerBean"/>
            </list>
        </property>
    </bean>

ok定时器完成了!!!

Quartz Spring 定时器 入门到使用

任务需求: 定时清理文件,每小时检查一次,隔设定的时间的文件进行删除处理 使用到的技术: Quartz Spring 定时器 使用的过程,需要搭建好了架构的web项目 简单明了的实现说明:建立项目-配...
  • wuqilianga
  • wuqilianga
  • 2017-03-08 16:25:59
  • 376

Spring Quartz定时器

  • 2010年01月28日 13:44
  • 48KB
  • 下载

[工作必备]spring定时器简单的demo

[工作必备]spring定时器简单的demo 源代码下载地址:http://www.zuidaima.com/share/1586950010391552.htm...
  • springmvc_springdata
  • springmvc_springdata
  • 2015-07-27 09:36:42
  • 1247

Spring quartz 使用中的定时器,停滞问题

在spring中使用quartz,碰到定时器卡死,实际上并不是定时器卡死,而且上次任务没有退出。 项目中,单独建了一个文件管理quartz的配置  applicationContext-quartz....
  • baby1212
  • baby1212
  • 2017-11-19 13:27:14
  • 318

spring定时器入门例子

最小spring定时器配置全,拷贝即可运行
  • u011534095
  • u011534095
  • 2015-03-31 12:03:24
  • 1405

【spring配置】——spring整合Quartz定时器

第一种:为普通java类中的某个方法配置跑批任务 MethodInvokingJobDetailFactoryBean CronTriggerBean SchedulerFactoryBean 1....
  • javawebxy
  • javawebxy
  • 2016-01-10 15:41:30
  • 19746

spring和quartz的定时器的启动和停止例子

  • 2014年02月19日 11:38
  • 18.38MB
  • 下载

spring定时器使用(quartz 2.2, spring 4.3)

版本:quartz 2.2 spring 4.3
  • zhangxiaoyang0
  • zhangxiaoyang0
  • 2016-12-20 10:35:04
  • 1657

spring的两种定时器:TimerTask 和 Quartz区别

Quartz的某次执行任务过程中抛出异常,不影响下一次任务的执行,当下一次执行时间到来时,定时器会再次执行任务;而TimerTask则不同,一旦某个任务在执行过程中抛出异常,则整个定时器生命周期就结束...
  • longtingjing
  • longtingjing
  • 2017-03-14 14:40:09
  • 783

Spring Quartz 定时器示例(Java工程版)

  • 2012年07月16日 10:39
  • 3.63MB
  • 下载
收藏助手
不良信息举报
您举报文章:Spring Quartz定时器入门
举报原因:
原因补充:

(最多只允许输入30个字)