当前位置: 首页 > news >正文

门户网站建设如何入账西安seo关键词查询

门户网站建设如何入账,西安seo关键词查询,网站首页做很多个关键词,招聘网站模板页目录 前言一、使用 Scheduled 注解二、使用 ScheduledExecutorService三、使用 Spring 的 TaskScheduler四、使用第三方调度框架 前言 在 Spring Boot 中,有多种方法来编写定时任务,以执行周期性或延迟执行的任务。下面是几种常见的方式 一、使用 Sche…

目录

    • 前言
    • 一、使用 @Scheduled 注解
    • 二、使用 ScheduledExecutorService
    • 三、使用 Spring 的 TaskScheduler
    • 四、使用第三方调度框架

前言

在 Spring Boot 中,有多种方法来编写定时任务,以执行周期性或延迟执行的任务。下面是几种常见的方式

一、使用 @Scheduled 注解

Spring Boot 提供了 @Scheduled 注解,可以将该注解应用在方法上,以指定方法的执行时间,这也是最简单的开启定时任务的方法。

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;@Component
public class ScheduledTasks {@Scheduled(fixedRate = 10000) // 每10秒执行一次public void doTask() {// 你的任务逻辑}
}

这种方式非常简单,适用于简单的定时任务需求,下面是 @Scheduled 注解的常用参数:

fixedRate:以固定的速率执行任务。例如,@Scheduled(fixedRate = 10000) 表示每隔 10 秒执行一次任务。

fixedDelay:以固定的延迟执行任务。例如,@Scheduled(fixedDelay = 5000) 表示在上一个任务完成后延迟 5 秒再执行下一个任务。

initialDelay:在应用程序启动后,首次执行任务的延迟时间。例如,@Scheduled(initialDelay = 3000, fixedRate = 10000) 表示在应用启动后等待 3 秒,然后每隔 10 秒执行一次任务。

cron:使用 Cron 表达式来定义任务的执行时间。Cron 表达式非常灵活,可以指定精确的执行时间和日期。例如,@Scheduled(cron = “0 * * * * ?”) 表示每小时执行一次任务。

cron表达式语法:

[秒(0-59)] [分(0-59)] [时(0-23)] [日(1-31)] [月(1-12,或英文缩写))] [周(0-7,或英文缩写)]

Cron 表达式还支持一些特殊字符和符号,用于更复杂的时间规则:

*(星号): 表示匹配该字段的任意值,例如,* 在秒钟字段中表示每秒都触发。
,(逗号): 表示一个列表,可以包含多个数值,例如,1,3,5 在分钟字段中表示每小时的第1、3、5分钟触发。
-(连字符): 表示一个范围,例如,1-5 在分钟字段中表示每小时的第1到5分钟触发。
/(斜杠): 表示步长,例如,*/5 在分钟字段中表示每隔5分钟触发一次。
?(问号): 通常用在日期和星期几字段,表示不指定值。
L(大写字母L): 通常用在日期和星期几字段,表示最后一天或最后一周。
W(大写字母W): 通常用在日期字段,表示工作日(周一到周五)最接近指定日期,但可能不是准确的日期。
#(井号): 通常用在星期几字段,表示一个月中的第几个星期几,例如,6#3 表示每月的第三个星期五。

Cron 表达式含义
* * * * * ?每秒钟执行一次任务
0 * * * * ?每分钟的第0秒执行任务
0 0 * * * ?每小时的第0分0秒执行任务
0 0 12 * * ?每天中午(12:00)执行任务
0 0 12 * * MON每周一中午(12:00)执行任务
0 0 12 1 * ?每月1日中午(12:00)执行任务
0 0 12 1 1 ?每年1月1日中午(12:00)执行任务
0 0 * * 1-5 ?工作日(周一至周五)的每小时执行任务
0 0 0 * * ?每天凌晨(00:00)执行任务
0 0 * * SUN每周日的每小时执行任务
0 0 8-17 * * ?每天上午8点到下午5点的每小时执行任务
0 0/15 * * * ?每15分钟执行一次任务

二、使用 ScheduledExecutorService

Java 自带了 ScheduledExecutorService 接口,它允许创建并执行定时任务。可以使用 ScheduledThreadPoolExecutor 类来创建一个线程池,以执行周期性任务。这种方式更加灵活,可以处理复杂的任务。

import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;public class ScheduledTasks {private final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);public void scheduleTask() {scheduler.scheduleAtFixedRate(this::doTask, 0, 10, TimeUnit.SECONDS);}public void doTask() {// 你的任务逻辑}
}

这种方式适用于需要更多控制的任务,如动态任务创建、取消等。

三、使用 Spring 的 TaskScheduler

Spring 提供了 TaskScheduler 接口,它允许你执行定时任务。你可以使用 Spring 提供的实现类,如 ThreadPoolTaskScheduler。

import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
import org.springframework.scheduling.support.CronTrigger;
import org.springframework.stereotype.Component;@Component
public class ScheduledTasks {private final ThreadPoolTaskScheduler scheduler = new ThreadPoolTaskScheduler();public ScheduledTasks() {scheduler.initialize();scheduler.schedule(this::doTask, new CronTrigger("0/10 * * * * ?")); // 每10秒执行一次}public void doTask() {// 你的任务逻辑}
}

这种方式适用于需要更高级的任务调度,如使用 Cron 表达式等。

四、使用第三方调度框架

除了内置的方式,你还可以选择使用第三方调度框架,如 Quartz Scheduler。Quartz 提供了高度灵活的调度功能,允许你配置复杂的任务计划和调度策略。

选择哪种方法取决于你的具体需求。对于简单的定时任务,@Scheduled 注解通常足够,但如果需要更高级的控制和灵活性,可能需要考虑其他方式。

http://www.15wanjia.com/news/163393.html

相关文章:

  • 万网虚拟机怎么做两个网站如何查看自己制作的网站
  • 模板网站制作多少钱移动互联网服务管理中心
  • 公共资源交易中心网站建设汇报商丘软件开发
  • 网站建设公司做网站要多少费用宁晋网站建设多少钱
  • html5 网站开发语言工程机械网
  • 太原定制网站开发制作湖南邵阳建设局网站
  • 印刷下单网站开发延吉市住房城乡建设局官方网站
  • 做网站在线网站表单
  • 如何编写网站备案网站名称怎么写个人
  • 现在做网站有前途吗购物网站每个模块主要功能
  • 外贸业务怎么利用网站开发客户wordpress门户cms
  • 国美电器如何进行网站的建设与维护推广引流工具
  • 石狮网站设计公司系统开发流程8个步骤
  • kol合作推广怎么进行seo
  • 重庆微信网站制作价格做外贸实用网站
  • 宁波网站设计推荐荣盛网络房地产网络推广方案
  • 做新网站怎样提交360初中信息技术 网站制作
  • 男友给女朋友做网站网站建设 客户需求
  • 你认为公司在建立网站时应满足哪些目标公司做网站费用会计处理
  • 受欢迎的做pc端网站什么是网络营销最传统的手法
  • 东大桥做网站的公司搞定设计官网
  • 欧洲做安网站网站建设 有道翻译
  • 广告视频素材网站线上做图的网站
  • 网站后台管理系统 静态页面网站推广百度优化
  • 旅游网站反链怎么做单仁咨询建设网站
  • 长沙公司做网站的价格网站模板怎么建站
  • 做网站的技术支持网站建设服务商城
  • 郑州网站推广汉狮网络成都有名的设计公司
  • 无锡网站建设方案维护wordpress主题恢复
  • 汽车销售服务东莞网站建设工程网络图