spring quartz的两种定时方式

1.简单定时,主要用于时间周期比较短的,还有就是测试用

这两种方式主要的区别在于:CronTrigger基于日历和时间,SimpleTrigger基于时间。

<!-- 定时任务的声明开始,该部分是一个定时器的声明,Start -->
    <!-- 系统配置信息加载定时任务 -->
    <bean id="loadSystemConfigTask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <property name="targetObject">
            <!-- 定时执行的类 -->
            <ref bean="systemConfigClass" />
        </property>
        <property name="targetMethod">
            <!-- 定时执行的类方法 -->
            <value>loadSystemConfig</value>
        </property>
    </bean>
    <!-- 简单定时,一般为系统运行后多少时间和每间隔多长时间执行(简单的定时) -->
    <bean id="loadSystemConfigTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
        <!-- 配置的需要定时的类   -->
        <property name="jobDetail">
            <ref bean="loadSystemConfigTask" />
        </property>
        <!-- 首次执行等待时间,毫秒,Tomcat启动10秒后执行  -->
        <property name="startDelay">
            <value>5000</value>
        </property>
        <!-- 每隔多久执行一次,毫秒,每隔6个小时执行一次 -->
        <property name="repeatInterval">
            <value>1296000000</value>
        </property>
    </bean>

2.复杂定时,主要用于时间周期比较长的

<!-- 注册 -->
    <bean id="registMemberToHighSeasJobDetail"
        class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <property name="targetObject">
            <ref bean="highSeasTaskOne" />
        </property>
        <property name="targetMethod">
            <value>registMemberToHighSeas</value>
        </property>
    </bean>
    <bean id="registMemberToHighSeasTaskTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
        <property name="jobDetail">
            <ref bean="registMemberToHighSeasJobDetail" />
        </property>
        <property name="cronExpression">
             <value>0 0/10 9-18 * 1-5 ?</value><!—周一到周五9点到18点每十分钟执行一次-->
            </property>
    </bean>

你可能感兴趣的:(spring quartz的两种定时方式)