quartz和spring 简单配置定时器

本文详细介绍了如何使用Spring框架结合Quartz实现定时任务,包括配置bean、定义任务、设置触发器及管理调度程序的关键步骤,确保定时任务在特定时间点准确执行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

准备条件:spring相关jar,commons-collections-3.1.jar(3.x以上),    quartz-all-1.6.0.jar。

<bean id="pushService" class="com.demo.service.PushService">

    </bean>
    <!--定义定时执行searchEngerneService 这个bean中的timeTask()方法-->
 <bean id="pushTask"   class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">  
 <!--你要执行的那个方法对应的bean-->
        <property name="targetObject">  
            <ref bean="pushService" />  
        </property>   
<!--你要执行那个方法,注意方法不能有返回值,参数好像也不能有-->
        <property name="targetMethod">
            <value>timeTask</value>  
        </property>  
    </bean>
 
 <!--触发器的bean的设置,在这里我们设置了我们要触发的jobDetail是哪个。这里我们定义了要触发的jobDetail是searchEngerneTask,即触发器去触发哪个bean..并且我们还定义了触发的时间-->   
    <bean id="doTime"  
        class="org.springframework.scheduling.quartz.CronTriggerBean">  
        <property name="jobDetail">  
            <ref bean="pushTask" />  
        </property>  
        <property name="cronExpression">   
            <!-- 关键在配置此表达式,在每天上午8点到2:55期间和下午6点到6:55期间的每5分钟触发  -->   
            <value>0 0/1 9-23 * * ?</value>  
        </property>  
    </bean>   
    <!-- 总管理类 如果将lazy-init='false'那么容器启动就会执行调度程序  -->

        <bean id="startQuertz" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">

            <property name="triggers">
                <list>
                    <ref bean="doTime"/>
                </list>
            </property>
        </bean>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值