spring 定时任务

第一步 新建任务类, 包括需要定时执行的方法

package com.quicksand.task;

import org.springframework.stereotype.Service;

@Service("TestTaskImpl")//如果手动xml方式配置bean的话 这里注解可以省略
public class TestTaskImpl {

  //定时执行的方法

public void mothed1() {
  // TODO Auto-generated method stub
  System.out.println("定时执行");
}

}

第二步 添加spring配置

<!-- 要调用的工作类 这里可以使用配置的bean 也可以用注解的方式配置为自动扫描-->
<!-- <bean id="testTask" class="com.quicksand.task.TestTaskImpl"></bean> -->

 

<!-- 定义调用对象和调用对象的方法 -->
<bean id="testTask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
  <!-- 调用的类 -->
  <property name="targetObject" ref="TestTaskImpl" />
  <!-- 调用类中的方法 -->
  <property name="targetMethod" value="mothed1"/>
  <!-- 作业是否并发调度 --> 
  <!--<property name="concurrent" value="true" /> -->
</bean> 

<!--触发器配置 介绍下列2种方式 根据需要选一种即可-->

方式1.相对复杂,控制灵活
<bean id="testTaskCronTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
  <property name="jobDetail" ref="testTask" />

  <!--这里的value使用的表达式可自行百度cronExpression-->
  <property name="cronExpression" value="0/30 * * * * ?" />
</bean>

方式2 简单易使用

<bean id="testTaskCronTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean">
  <property name="jobDetail" ref="testTask" />
  <property name="startDelay" value="0" /><!-- 调度工厂实例化后,经过0秒开始执行调度 -->
  <property name="repeatInterval" value="5000" /><!-- 每5秒调度一次 -->
</bean>

<!-- 调度任务管理 如果将lazy-init='false'那么容器启动就会执行调度程序 -->
<bean id="startQuertz" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
  <property name="triggers">
  <list>
  <ref bean="testTaskCronTrigger" />
  </list>
  </property>

第三步 测试启动 在测试方法中启动容器即可

ApplicationContext context=new ClassPathXmlApplicationContext("spring-mvc-task.xml");
System.out.println("任务已启动...");

注:依赖jar包 org.slf4j.jar

测试效果如下:

 

以上内容参考其他前辈们的文章,还没仔细研究这里方便快速了解使用的同学

没养成写博客这习惯 写起来还真费劲,以后得练练才行...

转载于:https://www.cnblogs.com/3dianpomian/p/5892725.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值