quartz 定时任务,项目启动立即执行

时间:2024-05-30 15:56:45

需求:某个定时任务在不需要手动触发,项目启动立即执行。(配置式)

quartz-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd"
    default-lazy-init="false">

    <bean id="quartzJob" class="com.xc.wms.quratzJob.GlobalJob" />
 
    <bean id="rsh_jobDetail_1"
        class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <property name="targetObject">
            <ref bean="quartzJob" />
        </property>
        <property name="targetMethod">
            <value>AutoPushDownTForNXWX</value><!-- 方法名称 -->
        </property>
    </bean>
    
    <!-- CronTrigger——调度触发 使用cron表达式-->
    <bean id="rsh_cronTrigger_1" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
        <property name="jobDetail" ref="rsh_jobDetail_1" />
        <property name="cronExpression">
            <value>0 0/1 * * * ? *</value>
            <!-- <value>0 0 0 * * ? *</value> --><!-- 每天晚上0点执行 -->
        </property>
    </bean>
     
     <!--SimpleTrigger——调度触发 -->
     <!-- <bean id="rsh_simpleTrigger1" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean">
        <property name="jobDetail" ref="rsh_jobDetail_1" />
        <property name="startDelay" value="500" />
        <property name="repeatInterval" value="0" />
        <property name="repeatCount" value="0" />
    </bean> -->
 
    <bean id="startQuertz" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="triggers">
            <list>
                <!-- <ref bean="rsh_simpleTrigger1" /> -->
                <ref bean="rsh_cronTrigger_1" />
            </list>
        </property>
    </bean>
 
</beans>

web.xml

<context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext.xml,classpath:quartz-config.xml</param-value>
    </context-param>

 GolabJob.java

quartz 定时任务,项目启动立即执行