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

优化网站wordpress小吃模版

优化网站,wordpress小吃模版,佛山网站建设全方位服务,东城网站设计Scheduled注解是Spring框架(包括Spring Boot)中用于实现定时任务的一种方式。以下是对Scheduled注解的详细解析: 一、基本概念 Scheduled注解允许开发者在Spring容器中定义定时任务。通过简单地在一个方法上添加Scheduled注解,S…

Scheduled注解是Spring框架(包括Spring Boot)中用于实现定时任务的一种方式。以下是对Scheduled注解的详细解析:

一、基本概念

Scheduled注解允许开发者在Spring容器中定义定时任务。通过简单地在一个方法上添加Scheduled注解,Spring容器就会自动将这个方法配置为一个定时任务。这种方式不仅简化了定时任务的创建,还使得定时任务的管理变得更加灵活和可维护。

二、使用方式

Scheduled注解支持多种配置选项,包括执行计划、固定延迟、固定速率等。以下是一些常见的使用方式:

  1. 固定速率执行:使用fixedRate属性指定任务执行的固定速率(以毫秒为单位)。例如,@Scheduled(fixedRate=5000)表示任务将每5秒执行一次。
  2. 固定延迟执行:使用fixedDelay属性指定任务在上一次执行完成后等待的固定延迟时间(以毫秒为单位)。例如,@Scheduled(fixedDelay=5000)表示任务将在上一次执行完成后5秒再次执行。
  3. Cron表达式:使用cron属性指定一个cron表达式来定义任务的执行计划。Cron表达式是一个字符串,由6或7个空格隔开的域组成,每个域代表一个时间单位(秒、分、时、日、月、周、年,其中年可选)。例如,@Scheduled(cron="0 0 12 * * ?")表示任务将在每天的中午12点执行。

三、注意事项

  1. @EnableScheduling注解:要使Scheduled注解生效,需要在配置类上添加@EnableScheduling注解。这个注解会开启Spring的定时任务支持,并注册一个ScheduledAnnotationBeanPostProcessor实例来解析和处理带有Scheduled注解的方法。
  2. 线程池:在Spring Boot中,所有通过Scheduled注解定义的定时任务都会被放入一个公用的线程池中执行。默认情况下,该线程池的并发线程数为1,即所有的任务会使用同一个线程被依次执行。如果需要并行执行多个任务,可以通过配置spring.task.scheduling.pool.size属性来增加线程池的大小。
  3. 任务执行时间:如果任务执行时间超过间隔时间(对于fixedRate)或延迟时间(对于fixedDelay),Spring将尽可能地安排下一次执行。但是,这可能会导致任务的实际执行时间与预期有所偏差。因此,建议尽量保证任务能够在较短的时间内执行完毕。
  4. 异常处理:在实际部署时,需要考虑任务执行时的异常处理和日志记录。如果任务在执行过程中抛出异常,可能会影响后续任务的执行。因此,建议添加适当的异常处理逻辑来捕获和处理可能出现的异常。

四、示例代码

以下是一个使用Scheduled注解创建定时任务的示例代码:

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;@Component
public class ScheduledTasks {@Scheduled(fixedRate = 5000)public void reportCurrentTime() {System.out.println("The current time is: " + new java.util.Date());}
}// 配置类
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;@Configuration
@EnableScheduling
public class SchedulerConfig implements SchedulingConfigurer {@Overridepublic void configureTasks(ScheduledTaskRegistrar taskRegistrar) {ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler();taskScheduler.setPoolSize(Runtime.getRuntime().availableProcessors() * 2 + 10); taskScheduler.initialize();taskRegistrar.setTaskScheduler(taskScheduler);}
}

在这个示例中,ScheduledTasks类中的reportCurrentTime方法被标记为一个定时任务,每5秒执行一次并打印当前时间。同时,在配置类SchedulingConfig上添加了@EnableScheduling注解来开启定时任务支持。

综上所述,Scheduled注解是Spring框架中用于实现定时任务的一种方便且强大的方式。通过合理配置和使用Scheduled注解,可以轻松地创建和管理各种定时任务以满足不同的业务需求。

五、开关控制定时任务

配置

jobs:corn:enable: truetestTask: "0 0/5 * * * ?"

定时任务

@ConditionalOnProperty(prefix = "jobs.corn", name = "enable", havingValue = "true")
@Component
@Slf4j
public class TestTask {@AutowiredTrainingJobService trainingJobService;@Scheduled(cron = "${jobs.corn.testTask:0/15 * * * * ?}")public void test() {log.info("TestTask test start");}}
http://www.yayakq.cn/news/531276/

相关文章:

  • 百度网站做不做动漫制作专业用什么样的电脑比较好
  • 济南门户网站建设安装wordpress报404错误
  • 济南行知网站建设有限公司怎么样seo网络推广教程
  • 平面设计素材网站有哪些建设银行关闭网站查询信用卡账单
  • 怎么建网站链接小程序推广方式有哪些
  • 微信公众号怎么进行网站建设wordpress投稿者权限
  • 美橙互联网站打不开加强网站基础建设项目
  • 网站弹出qq聊天窗口建设银行春招网站
  • 那个网站是专门做渔具的网站建设与开发的论文
  • wordpress子站点用户无角色搜索引擎内部优化
  • 国家住房和城乡建设网站安阳百度
  • 上海网站制作的费用开一个网站需要多少钱
  • 各种网站解决方案cad线下培训班
  • 免费下载网站设计方案搜索引擎优化百度
  • 做北美市场用哪个网站360seo排名优化服务
  • 广州交通站场建设管理中心网站闽侯网站建设
  • p2p网站建设报价2p排名怎样做网站后台优化
  • 可信赖的南昌网站制作交易平台网站建设
  • 做理财的网站魔站网站开发
  • 网站开发的技术可行性怎么写排名网站
  • jsp网站开发工具及语言wordpress自定义文章代码和样式
  • 做一家直播卖货的网站营销方案
  • 网站开发静态怎样转成动态获取网站目录下所有文件
  • 做一个网站需要多少费用iapp制作软件
  • 简述网站建设的基本流程图网站注册qq
  • 网站维护中一般要多长时间如何查询自己的网站是否被收录
  • 北京建设工程联合验收网站wordpress 付费模版
  • 三网合一网站建设费用如何制作个人网页文档
  • 忻州市城乡建设局网站做网络维护的工资高吗
  • js做网站登录wordpress404无法加载