假设我们有数据同步要求:每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一起看看这个示例。
配置:
例子:
最后,还有另一个问题,首先要看图片。
你发现问题了吗?
当我们编写配置时,我们没有提示,这看起来不友好。
如何解决?
首先引入依赖项:
我们不妨编写属性配置类。
你注意到这个吗?
当我第一次开始写示例时,您是否好奇,为什么您有这个前缀
哈哈,实际上,我们已经掩埋了预言。
最后,让我们看看。
同时,此时,当您再次写作时,会有一个提醒。
今天共享的内容是,让我们下次再见!