SSM定时器的两种实现方法

第一种:配置文件

在applicationContext-quartz.xml中配置

<!-- 定义一个任务类 -->

    <bean id="myJob" class="com.fuzamei.trans.controller.myjob"></bean>


    <!-- jobDetail -->
    <bean id="jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <property name="targetObject" ref="myJob"></property>
        <property name="targetMethod" value="execute"></property>
        <property name="concurrent" value="false" /><!-- 作业不并发调度  -->
    </bean>


    <!-- 定义trigger 触发器 -->
    <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
        <property name="jobDetail" ref="jobDetail"></property>
        <property name="cronExpression" value="0/10 * * * * ?"></property>
    </bean>


    <bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="triggers">
           <list>
                <ref bean="cronTrigger"/>
           </list>
        </property>

    </bean>


操作类:

package com.fuzamei.trans.controller;

public class myjob {


    public void execute(){


        System.out.println("Quartz的任务调度!!!"+(new Date()).toString());


    }

}

第一种:注解配置

1.在applicationContext-quartz.xml中

xmlns后加入

xmlns:task="http://www.springframework.org/schema/task"

xsi后加入

http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd

http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.2.xsd


2.然后在中间加入

<!-- 设置定时任务 -->

<task:annotation-driven/>

3.在使用类上加注解Component 再在使用方法上加注解

/**
     * 每天22点30启动任务
     */
    @Scheduled(cron = "0 30 22 ? * *")
    public void test1()
    {
        System.out.println("job1 开始执行..."+(new Date()).toString());
    } 
    @Scheduled(cron = "0/5 * * * * ?")//每隔5秒隔行一次 
    public void test2()
    {
       System.out.println("job2 开始执行");
    } 


阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭