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

会员网站免费建设vs2012建设网站

会员网站免费建设,vs2012建设网站,自适应网站做百度推广,网页设计的费用文章目录 在Spring Boot中实现定时任务#xff0c;主要有以下几种方式#xff1a;1. 使用Scheduled注解2. 使用Quartz调度器使用Quartz调度器(更好的做法)3. 使用TaskExecutor和ScheduledExecutorService4.总结 在Spring Boot中实现定时任务#xff0c;主要有以下几种方式主要有以下几种方式1. 使用Scheduled注解2. 使用Quartz调度器使用Quartz调度器(更好的做法)3. 使用TaskExecutor和ScheduledExecutorService4.总结 在Spring Boot中实现定时任务主要有以下几种方式 1. 使用Scheduled注解 这是Spring Boot中最为简便的一种方式只需在方法上添加Scheduled注解并指定任务的执行计划如Cron表达式或固定延迟/间隔。此外还需要在Spring Boot的主类或配置类上添加EnableScheduling注解来启用定时任务支持。 import com.fs.service.UserService; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component;import javax.annotation.Resource;/*** author: jpeng* date: 2024/9/11 11:00* description: Task定时任务*/ Component public class MyTask {Resourceprivate UserService userService;//定义需要执行的任务每隔多少时间执行一次Scheduled(cron */2 * * * * ?)public void taskone(){System.out.println(task info...);//例子//实际中我们可以调用service层的方法进行操作} } import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.scheduling.annotation.EnableScheduling;SpringBootApplication MapperScan(com.fs.mapper) //开启task定时任务功能 EnableScheduling public class MybatisPlusApplication {public static void main(String[] args) {SpringApplication.run(MybatisPlusApplication.class, args);}}2. 使用Quartz调度器 Quartz是一个功能丰富的开源作业调度库它提供了比Spring的Scheduled注解更为复杂的调度选项如作业持久化、集群支持和事务性作业。 在Spring Boot中集成Quartz你需要添加Quartz的依赖并配置JobDetail、Trigger和Scheduler bean。 !-- 在pom.xml中添加Quartz依赖 -- dependency groupIdorg.quartz-scheduler/groupId artifactIdquartz/artifactId version你的Quartz版本/version /dependency然后定义作业类、配置Quartz调度器并通过Java配置或XML配置来注册JobDetail和Trigger。 使用Quartz调度器(更好的做法) 更好的做法定义作业类只定义JobDetail和Trigger的Bean 在这种的情况下我们只是定义了JobDetail和Trigger的Bean并且没有显式地创建和启动Scheduler那么这通常是可以的并且通常是更好的做法特别是当我们使用Spring Boot的spring-boot-starter-quartz时。 spring-boot-starter-quartz会自动为您配置并启动Scheduler它会查找您定义的JobDetail和Trigger的Bean并将它们注册到Scheduler中。这样您就不需要自己手动管理Scheduler的生命周期了。 !--quartz定时任务--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-quartz/artifactId/dependencyimport org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.springframework.scheduling.quartz.QuartzJobBean;/*** author: jpeng* date: 2024/9/11 10:31* description: spring管理job* 1、定义类继承QuartzJobBean* 2、重写executeInternal来实现定时任务功能* 3、通过配置类来执行job触发器和调度器管理*/ public class MyQuarzJob extends QuartzJobBean {Overrideprotected void executeInternal(JobExecutionContext context) throws JobExecutionException {System.out.println(quartz task run...);} }import com.fs.job.MyQuarzJob; import org.quartz.*; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;/*** author: jpeng* date: 2024/9/11 10:33* description: Quartz配置类*/ Configuration public class QuartzConfig {Beanpublic JobDetail detail(){//绑定具体的工具Jobreturn JobBuilder.newJob(MyQuarzJob.class).storeDurably().build();}Beanpublic Trigger jobTrigger(){//指定了调度的规则CronScheduleBuilder cronScheduleBuilder CronScheduleBuilder.cronSchedule(*/2 * * * * ? *);//通过触发器绑定工作明细和指定触发器调度规则return TriggerBuilder.newTrigger().forJob(detail()).withSchedule(cronScheduleBuilder).build();} } 3. 使用TaskExecutor和ScheduledExecutorService 虽然这两种方式并不直接等同于定时任务调度但它们可以用于在Spring Boot应用中执行异步任务。TaskExecutor是Spring框架中用于执行异步任务的接口而ScheduledExecutorService是Java并发包中提供的一个接口用于在给定延迟后运行命令或者定期地执行命令。 Autowired private TaskExecutor taskExecutor; public void executeAsyncTask() { taskExecutor.execute(() - { // 执行异步任务 }); } // 或者使用Java的ScheduledExecutorService Bean public ScheduledExecutorService scheduledExecutorService() { return Executors.newScheduledThreadPool(5); } Autowired private ScheduledExecutorService executorService; public void scheduleTask() { executorService.schedule(() - { // 执行定时任务 }, 1, TimeUnit.SECONDS); }注意这些方式通常用于执行异步任务而不是严格的定时任务调度。对于定时任务调度推荐使用Scheduled注解或Quartz。 4.总结 在Spring Boot中推荐使用Scheduled注解来实现简单的定时任务调度需求因为它配置简单且易于使用。对于需要更复杂调度功能的场景可以考虑使用Quartz。而TaskExecutor和ScheduledExecutorService则更适合于执行异步任务。
http://www.hkea.cn/news/14363788/

相关文章:

  • 布吉做棋牌网站建设哪家便宜wordpress制作左侧边栏
  • 宁波市奉化区建设局网站响应式网站怎么做pc端的
  • 网站制作呼和浩特wordpress倒入数据库
  • 豪华网站设计网站规划模板
  • asp网站栏目修改如何制作网页图
  • 义乌网站备案潍坊公司注册网站
  • 万州房地产网站建设网络管理系统中管理对象
  • 建设网站的软件下载帝国cms能建设视频网站吗
  • 企业管理系统免费下载王通seo赚钱培训
  • 网站推广员是什么wordpress 插件路径
  • 佛山哪个做网站的好苏州建设教育协会网站
  • 萝岗网站建设制作wordpress扁平化中文主题
  • 可以做业务推广的网站有哪些重新安wordpress网站
  • 免费cms建站五指个人如何注册商标
  • 网络服务商网站建设网站前的市场分析主要包括哪些内容
  • 网站百度地图怎么做南京 网站建设模板价格
  • 云南省网站建设收费调查报告论文包头网站建设公司
  • 关于网页设计的网站网站开发项目时序图
  • 贵州省住房及城乡建设部网站wordpress个人博客主题响应式
  • 包装东莞网站建设0769flash属于网页制作平台吗
  • 社团建设制作网站费用会计科目wordpress安装很慢
  • 网店设计美工合肥网站推广优化
  • 网站注册了域名然后怎么做影视小程序源码
  • 企业集团网站建设与运营上海市基础工程公司
  • 湖州网站建设公司icp备案号
  • 怎么收录网站网站开发测量像素工具
  • 网站分析设计做的项目的过程wordpress 搜索代码
  • 淘宝上面如何做网站申请个人网站多少钱
  • 商城网站多少钱做做化学式的网站
  • 如何创建网站的第一步沈阳市住房和城乡建设厅网站