2019独角兽企业重金招聘Python工程师标准>>>

1、建立项目

@SpringBootApplication
@EnableAsync
@EnableScheduling
@EnableAutoConfiguration(exclude={  DataSourceAutoConfiguration.class, DataSourceTransactionManagerAutoConfiguration.class})
@ImportResource("classpath:spring.xml")

@EnableAsync 开启异步支持

@EnableScheduling 开启定时任务支持

@EnableAutoConfiguration作用 Spring Boot会自动根据你jar包的依赖来自动配置项目。例如当你项目下面有HSQLDB的依赖时,Spring Boot会创建默认的内存数据库的数据源DataSource,如果你自己创建了DataSource,Spring Boot就不会创建默认的DataSource。

@ImportResource("classpath:spring.xml")  导入一些常规性配置,虽然spring-boot不推荐用xml了,但是本来还是有些习惯用xml来配置

2、

@Component
public class TaskTest {@Scheduled(cron="0/30 * * * * ?")public void task(){System.out.println("========每30秒运行一次=======");}
}

这样一个简单的定时任务作业系统就完成了

问题:下面说说过程中遇到的一个小坑,至今我都没搞明白的一个问题主要是异常任务问题

    @Scheduled(cron="0/30 * * * * ?")public void task1(){asyn();System.out.println("========每30秒运行一次=======");}@Asyncpublic void asyn(){System.out.println("========异步任务=======");}

看到代码,很简单明了,30秒运行一次task1方法,而task1方法则调用了一个异步方法,但是问题就出在这里,如果这样写的会,他这里只会同步执行异步任务,这里百思不得其解。

我的解决办法

@Component
public class TaskTest {@Autowiredprivate AsyncTask asyncTask;@Scheduled(cron="0/30 * * * * ?")public void task1(){asyncTask.asyn();//调用异步任务System.out.println("========每30秒运行一次=======");}
}

异步方法不在原来定时作业的class里,这样就可以异步作业了,不明白这里的原因,如果有人知道麻烦告诉一下

@Component
public class AsyncTask {@Asyncpublic void asyn() throws InterruptedException{Thread.sleep(5000);System.out.println("========异步任务=======");}
}

转载于:https://my.oschina.net/u/1789379/blog/748924

spring-boot 定时任务相关推荐

  1. Spring Boot定时任务应用实践

    在Spring Boot中实现定时任务功能,可以通过Spring自带的定时任务调度,也可以通过集成经典开源组件Quartz实现任务调度. 一.Spring定时器 1.cron表达式方式 使用自带的定时 ...

  2. @scheduled注解配置时间_Java开发重写Spring Boot定时任务,支持可动态调整执行时间...

    Spring Boot应该是目前最火的java开源框架了,它简化了我们创建一个web服务的过程,让我们可以在很短时间.基本零配置就可以启动一个web服务. 定时任务在我们平常的业务开发用的非常多,Sp ...

  3. 14. Spring Boot定时任务的使用【从零开始学Spring Boot】

    [视频 & 交流平台] à SpringBoot视频 http://study.163.com/course/introduction.htm?courseId=1004329008& ...

  4. Spring Boot定时任务-Job类对象注入

    如何在我们的任务类当中,去完成其他对象的注入,Job类中注入对象,回到我们的代码当中,这个是我们编写的Job类,比如我们在Job类当中呢,我要使用到我业务下某个类的某个方法,那我们是不是要将我们业务层 ...

  5. Spring Boot定时任务-SpringBoot整合Quartz

    如何通过SpringBoot整合Quartz框架,我们首先去创建一个项目,接下来我们需要在pom文件里添加坐标,我们在使用SpringBoot整合Quartz的时候,需要添加哪些坐标呢,我们来看一下, ...

  6. Spring Boot 定时任务

    2019独角兽企业重金招聘Python工程师标准>>> 本文主要介绍了Spring Boot中使用@Scheduled创建定时任务.我们在编写Spring Boot应用中经常会遇到这 ...

  7. spring -boot定时任务 quartz 基于 MethodInvokingJobDetailFactoryBean 实现

    spring 定时任务 quartz 基于  MethodInvokingJobDetailFactoryBean 实现 依赖包 如下 <dependencies><dependen ...

  8. Spring Boot定时任务-@Scheduled的使用

    SpringBoot对于定时任务的支持,其实我们在开发过程当中,定时任务的技术使用,还是比较多的,比如说我系统当中,要求在一个特定的时间,给用户发送一些信息,或者我的系统要求在一个特定的时间,对于Re ...

  9. Spring boot定时任务(Scheduling Tasks)

    定时任务(Scheduling Tasks) 这篇文章将介绍怎么通过spring去做调度任务. 简介 定时任务或者说定时调度,是系统中比较普遍的一个功能,例如数据归档.清理,数据定时同步(非实时),定 ...

  10. Spring Boot定时任务-Quartz基本使用

    我们在项目当中去使用一个Quartz,主要是了解Quartz的一个基本使用方式,Quartz的基本使用方式,首先打开我们的eclipse,使用SpringBoot去整合我们的Quartz,我们就不加S ...

最新文章

  1. 'unicodeescape' codec can't decode bytes in position 16-17: malformed \N character escape
  2. OpenCV查找边缘
  3. rust(29)-元组结构体
  4. [恢]hdu 1040
  5. 根据移动设备屏幕像素密度,给予不同分辨率的图片
  6. 【正则表达式】以字母或下划线开头,包含字母、数字、以及下划线
  7. 北京数学建模与计算机应用2018,2018年第八届MathorCup高校数学建模挑战赛
  8. 宏程序编程实例,简单易懂
  9. SSM——SpringMVC笔记1
  10. 国内考勤管理系统做的比较好的几款软件?
  11. java判断移动端和pc端_Java判断PC端还是移动端
  12. MariaDB的官方手册译文
  13. python笔记更新(网络编程)
  14. wps html编辑表格,手机wps中怎样编辑表格?手机wps编辑表格的方法
  15. android 图片底部波浪线,Android实现波浪线效果(xml bitmap)
  16. 在 stm32CubeMX下生成程序完成流水灯以及完成STM32的USART串口通讯程序实现STM32系统给上位机(win10)连续发送“hello windows”
  17. idata 单片机 新唐_新唐单片机代码评审总结
  18. Java实现单点登录(SSO)方式
  19. ADC采样通过ePWM1输出
  20. HTML+CSS大作业: 美食网页制作作业_生猛海鲜美食网页设计

热门文章

  1. 更改微软更新服务器地址,更新服务 | Microsoft Docs
  2. Java基础教程:多线程基础(3)——阻塞队列
  3. CentOS6找回root密码 - 黑猴子
  4. flask-session总结
  5. 《Linux命令行与shell脚本编程大全 第3版》Shell脚本编程基础---23
  6. NOIP 2016【蚯蚓】
  7. 函数动态参数实现format
  8. Monkey脚本编写
  9. STL 中的链表排序
  10. Finished yeah!