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

怎么做网页的搜索功能郑州本地seo顾问

怎么做网页的搜索功能,郑州本地seo顾问,文案写作网站,网站美工工作流程前言 在Spring Boot中,定时任务通过简单的注解即可实现周期性任务的自动执行。常用于数据统计、定时清理、通知推送等场景。 实现流程 1.启用定时任务 在主类或配置类添加 EnableScheduling 注解 SpringBootApplication EnableScheduling // 开启定时任务支持 p…

前言

  • 在Spring Boot中,定时任务通过简单的注解即可实现周期性任务的自动执行
  • 常用于数据统计、定时清理、通知推送等场景。

实现流程

1.启用定时任务
  • 在主类或配置类添加 @EnableScheduling 注解
@SpringBootApplication
@EnableScheduling // 开启定时任务支持
public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}
}
2.定义定时任务类
@Component
public class SimpleScheduledTask {// 每5秒执行一次(固定速率,从任务开始时间算间隔)@Scheduled(fixedRate = 5000)public void task1() {System.out.println("Fixed Rate Task: " + LocalDateTime.now());}// 每3秒执行一次(固定延迟,从任务结束时间算间隔)@Scheduled(fixedDelay = 3000)public void task2() {System.out.println("Fixed Delay Task: " + LocalDateTime.now());}// 每天10:00执行(Cron表达式)@Scheduled(cron = "0 0 10 * * ?")public void task3() {System.out.println("Cron Task: " + LocalDateTime.now());}
}
  • 关键参数说明
    在这里插入图片描述
  • Cron表达式格式【可通过相关网站设置并生成】
秒(0-59) 分(0-59) 时(0-23) 日(1-31) 月(1-12) 周(0-7,0和7均为周日)

注意事项

  • 需要在启动类上添加注解支持@EnableScheduling,负责定时任务失效。
    在这里插入图片描述

效果【观察输出日志】

在这里插入图片描述

拓展【其他实现方式】

1.动态任务配置(基于接口 SchedulingConfigurer)

  • A.适用场景:
    • 需要从数据库或配置文件动态加载任务配置
    • 支持运行时动态增删改任务
  • B.实现步骤
  • (1)创建动态任务配置类:
@Configuration
@EnableScheduling
public class DynamicScheduledConfig implements SchedulingConfigurer {@Autowiredprivate TaskConfigRepository taskConfigRepository; // 假设从数据库读取任务配置@Overridepublic void configureTasks(ScheduledTaskRegistrar taskRegistrar) {// 动态加载任务配置List<TaskConfig> tasks = taskConfigRepository.findAllEnabledTasks();tasks.forEach(task -> {Runnable runnable = () -> executeTask(task);Trigger trigger = context -> {String cron = task.getCronExpression();return new CronTrigger(cron).nextExecutionTime(context);};taskRegistrar.addTriggerTask(runnable, trigger);});}private void executeTask(TaskConfig task) {System.out.println("执行动态任务: " + task.getName() + ", 时间: " + LocalDateTime.now());}
}
  • (2)数据库实体示例:
@Entity
public class TaskConfig {@Idprivate String id;private String name;private String cronExpression;private boolean enabled;// Getters and Setters
}

2.多线程定时任务

  • 解决单线程阻塞问题:默认情况下,@Scheduled 任务在单线程中串行执行。若需并行执行:
  • 配置线程池
@Configuration
public class AsyncScheduledConfig {@Beanpublic TaskScheduler taskScheduler() {ThreadPoolTaskScheduler scheduler = new ThreadPoolTaskScheduler();scheduler.setPoolSize(5); // 线程池大小scheduler.setThreadNamePrefix("scheduled-task-");scheduler.setAwaitTerminationSeconds(60);scheduler.setWaitForTasksToCompleteOnShutdown(true);return scheduler;}
}
  • 异步任务实例
@Component
public class AsyncScheduledTask {// 异步 + 定时任务@Async("taskExecutor") // 指定自定义线程池@Scheduled(fixedRate = 5000)public void asyncTask() {System.out.println("异步任务线程: " + Thread.currentThread().getName());}
}

总结

在这里插入图片描述

  • 实际开发中,推荐优先使用 @Scheduled 注解快速实现简单任务,复杂场景结合动态配置和线程池优化。
  • 生产环境务必添加任务监控和分布式锁机制。
http://www.dtcms.com/wzjs/217707.html

相关文章:

  • 教育培训类网站建设与维护今天nba新闻最新消息
  • 网站管理更新维护整站优化价格
  • 做流程图用什么网站好佛山seo
  • 专业网站建设加工四种基本营销模式
  • 发布消息做任务的网站seo是什么姓
  • 高端响应式网站建设手机怎么建自己的网站
  • 网站关键字优化价格seo推广怎么入门
  • 公司简介怎么写吸引人seo百度快速排名
  • 网站开发vue深圳推广服务
  • 成都网站建设优化扬州seo优化
  • 淮安市建设厅网站企业培训课程种类
  • 专业做电脑系统下载网站好昆明seo博客
  • 公司网站制作知乎seo软件定制
  • 国家建设局网站首页关键词词库
  • 深圳罗湖做网站58下载百度极速版
  • 网络平台运营模式企业网站seo方案
  • 烟台市福山区住房和建设局网站河北百度推广
  • 做网站为什么可以自学seo自然搜索优化排名
  • 关于php动态网站开发的书籍app推广方式有哪些
  • 做外汇网站卖判刑多少年网络seo推广培训
  • 郑州seo规则seo搜索引擎优化就业前景
  • 河北seo网站开发什么是seo文章
  • 政府网站建设与管理规范淘宝推广工具
  • 重庆品牌网站建设公司苏州网站优化公司
  • php+mysql div+css网站建设 东莞域名查询seo
  • 阿里云网站建设 部署与发布考试百度论坛
  • 做网站哪个系统最好安卓优化大师手机版下载
  • 小型服务器做网站东莞排名优化团队
  • 网站建设的实验原理自助建站免费建站平台
  • 什么网站推广比较好建立网站步骤