Spring Boot(一):添加任务管理的解决办法

在默认的Spring Boot中,载入的Spring架包其实较少,如果此时直接启用任务管理,如下:

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

则会提示类“org.springframework.scheduling.quartz.SchedulerFactoryBean”不存在,此时需要在POM.xml文件中添加如下内容:

<!-- 定时任务 -->
<dependency>
     <groupId>org.springframework</groupId>
     <artifactId>spring-context-support</artifactId>
</dependency>
<!-- 添加Quartz支持 -->
<dependency>
  <groupId>org.quartz-scheduler</groupId>
  <artifactId>quartz</artifactId>
  <version>2.2.1</version>
</dependency>

再次运行代码,一切正常。

最后附上配置实例:

<!-- 首先定义任务 -->
<bean id="logScanJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
    <property name="targetObject" ref="configTaskService"/>
    <property name="targetMethod" value="logScan"/>
    <!-- 多个定时器时,不会同时执行任务 -->
    <property name="concurrent" value="false"/>
</bean>

<!-- 然后定义定时器 , 日期定时器-->
<bean id="logScanTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
    <property name="jobDetail" ref="logScanJob"/>
    <!-- CRON 顺序依次为秒,分钟,小时,日,月,周(星期几,从1开始星期天,7为星期六),年 -->
    <!-- ?仅可用于第4位日,与第6为周,表示不指定值,最多只能有一个 -->    
    <property name="cronExpression" value="0 0 6 * * ?"/>
</bean>

<!-- 最后,注册定时器 -->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    <property name="triggers">
        <list>
            <ref bean="logScanTrigger"/>
        </list>
    </property>
</bean>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值