当前位置: 首页 > 网络应用技术

使用Spring Boot系列@schedule的使用来实现定时任务

时间:2023-03-09 12:19:20 网络应用技术

  假设我们有数据同步要求:每5秒执行数据同步。那么我们如何实现此数据同步任务?

  大家好,我是小冯。

  今天,使用@scheduled在Spring Boot项目中实现定时任务。

  我们需要基于Spring Boot框架构建一个简单的数据同步调度任务。

  演示如下。

  因为我们是基于春季靴子开发的,所以我们不需要其他依赖。

  通过含义步骤,我们的演示将建立。运行,控制台打印日志如下:

  通过打印日志,我们可以在没有5秒间隔的情况下自动指定“数据同步任务”,以便简单地实现任务计划。

  在下面,我们提供注释的配置并做出解释。

  首先查看一个示例:每5秒执行任务。

  实施:

  关于cron表达,应作出以下一些解释:

  1.结构

  春季支持的cron表达,由6位数字组成,分别表达:

  2. cron表达示例

  通过阅读一些Cron示例,我们可以更好地理解Cron表达的特定含义。

  官方文件:https://docs.spring.io/spring-framework/docs/current/html/integration.html#scheduling-ron-expression

  星号()和问号()都代表匹配的符号,可以和平使用它们,即第四和第六。

  例如,最后一月的最后一个星期日。

  这意味着工作日(星期一至周五)。

  这意味着每个月的几周。:表示每个月的第二个星期五。:是指每个月的第一个星期一。

  3.宏

  春天为我们提供了一些特殊的cron表情(全年,整个月,整个星期,整天或整夜,整夜),我们可以直接使用它。

  时区

  固定间隔,参数类型很长。

  固定间隔,参数类型为字符串,如firceDelay。

  固定速率,参数类型很长。

  固定速率,参数类型长,与固定率相同。

  时间单元,从5.3.10开始

  春季靴2.5.5开始

  第一个延迟时间,参数类型很长。

  第一个延迟时间,参数类型是字符串。

  fixeDelay,间隔时间,计算任务的结束。

  固定,间隔,计算任务中的开始时间。

  例如,任务,间隔为5秒,任务执行时间为2秒。

  假设FieleDelay在第5秒内执行第一次,然后第二次将在12秒内执行。

  固定率在第5秒内首次执行,然后第二次将在10秒内执行。

  例如,任务,间隔为2秒,任务执行时间为5秒。

  假设FieleDelay在第二秒内执行第一次执行,然后第二次将在9秒内执行。

  固定率在第二秒内首次执行,因此第二次将在7秒内执行。

  在实际项目中,执行时间通常写在配置文件中,这很方便修改。否则,如果要修改,则需要更改代码。

  我相信您必须遇到有关如何在配置文件中写入的问题。

  在这一部分中,我们解决了这样的问题并总结。

  配置:

  如果配置文件未配备,则将使用默认值。

  请注意,该值是空的,不等于没有匹配。

  当解释上述参数时,我们指定这将接收一个整数,因此如何解决此问题。

  相信聪明,您也必须猜测。

  是的,是的。

  配置:

  只需解释,如果配置文件中没有配置,请每2秒执行一次。如果配置配置,则将每5秒执行一次。它说项目启动后,第一个任务将在5秒内执行。

  值得注意的是,$ {erwin.fixed-delay:2},结肠前后必须没有空间。

  有了上述经验,我相信您必须学习。LET一起看看这个示例。

  配置:

  例子:

  最后,还有另一个问题,首先要看图片。

  你发现问题了吗?

  当我们编写配置时,我们没有提示,这看起来不友好。

  如何解决?

  首先引入依赖项:

  我们不妨编写属性配置类。

  你注意到这个吗?

  当我第一次开始写示例时,您是否好奇,为什么您有这个前缀

  哈哈,实际上,我们已经掩埋了预言。

  最后,让我们看看。

  同时,此时,当您再次写作时,会有一个提醒。

  今天共享的内容是,让我们下次再见!