定时任务(quartz,spring task,linux crontab,timer)

    项目中用到定时任务的地方还是比较多的.比如,批量同步数据,批量更新数据,等等.很多地方都会用到.因为定时任务有很多种实现方式,quartz,比较强大;spring task也就是轻量级的quartz;timer java自带的定时器,一般不推荐使用.

    quartz:

    spring application-context.xml

<bean id="quartz" class="com.mishu.cgwy.score.vo.Quartz"/>

<bean id="DailyTaskQtzJobMethod" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
    <property name="targetObject">
        <ref bean="quartz"/>
    </property>
    <property name="targetMethod">  <!-- 要执行的方法名称 -->
        <value>quartz</value>
    </property>
</bean>

<!--  调度触发器 固定的时间执行 -->
<!--<bean id="DailyTaskCronTriggerBean" class="org.springframework.scheduling.quartz.CronTriggerBean"> -->
    <!--<property name="jobDetail" ref="DailyTaskQtzJobMethod"></property>-->
    <!-- value的值的意思是 每天15点55执行 书写格式可以参见cron表达式 -->
    <!--<property name="cronExpression" value="0 55 15 ? * *"></property>-->
<!--</bean>-->
<!--  调度触发器 每隔多长时间执行-->
<bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
    <property name="jobDetail" ref="DailyTaskQtzJobMethod" />
    <property name="startDelay" value="0" /><!-- 实例化后开始执行 -->
    <property name="repeatInterval" value="2000" /><!-- 每2秒执行一次 -->
</bean>

<!-- 调度工厂 -->
<bean id="SpringJobSchedulerFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    <property name="triggers">
        <list>
            <ref bean="simpleTrigger"/>
        </list>
    </property>
</bean>

    javaBean

/**
 * Created by bowen on 15/11/26.
 */
public class Quartz {

    public void quartz() {

        System.out.println("task");
    }
}

    这里就是简单的输出了一个task;

    稍后介绍另外几种.

    

你可能感兴趣的:(quartz,定时任务)