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

广州海珠网站建设深圳网站建设

广州海珠网站建设,深圳网站建设,wordpress上传的图片不显示,wd网页设计教程文章目录 一、基本使用1、配置:EnableScheduling2、触发器:Scheduled 二、拓展1、修改默认的线程池2、springboot配置 三、源码分析参考资料 一、基本使用 1、配置:EnableScheduling import org.springframework.context.annotation.Config…

文章目录

  • 一、基本使用
    • 1、配置:@EnableScheduling
    • 2、触发器:@Scheduled
  • 二、拓展
    • 1、修改默认的线程池
    • 2、springboot配置
  • 三、源码分析
  • 参考资料

一、基本使用

1、配置:@EnableScheduling

import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;@Configuration
// 可以省略
@EnableAsync
// 开启定时任务
@EnableScheduling
public class SchedulingConfiguration {
}

2、触发器:@Scheduled

注意:
1、要调度的方法必须有void返回,并且不能接受任何参数。
2、@Scheduled可用作可重复的注释。如果在同一个方法上发现了几个@Scheduled注解,那么它们中的每一个都将被独立处理,并为它们中的每一个触发一个单独的触发器。

import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;import java.util.concurrent.TimeUnit;@Configuration
@EnableAsync
@EnableScheduling
public class SchedulingConfiguration {/*** 上一次调用结束和下一次调用开始之间的固定时间内执行* 也可以指定时间类型,默认是毫秒* @Scheduled(fixedDelay = 5, timeUnit = TimeUnit.SECONDS)*/@Scheduled(fixedDelay = 5000)public void doSomething() {System.out.println("每5秒触发一次");}/*** 以固定的时间间隔执行*/@Scheduled(fixedRate = 5, timeUnit = TimeUnit.SECONDS)public void doSomething2() {System.out.println("每5秒执行一次2");}/*** 第一次延迟1秒执行,之后每隔5秒执行一次*/@Scheduled(initialDelay = 1000, fixedRate = 5000)public void doSomething3() {// something that should run periodically}/*** 延迟1秒执行,一次性任务*/@Scheduled(initialDelay = 1000)public void doSomething4() {// something that should run only once}/*** cron表达式*/@Scheduled(cron="*/5 * * * * MON-FRI")public void doSomething5() {// something that should run on weekdays only}}

二、拓展

1、修改默认的线程池

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;@Configuration
public class TaskSchedulerConfig {// bean名称一定要是taskScheduler@Beanpublic ThreadPoolTaskScheduler taskScheduler() {ThreadPoolTaskScheduler scheduler = new ThreadPoolTaskScheduler();// 设置线程池大小scheduler.setPoolSize(5); // 设置线程名称前缀scheduler.setThreadNamePrefix("my-scheduler-"); // 设置任务拒绝策略scheduler.setRejectedExecutionHandler((r, executor) -> {System.err.println("Task " + r.toString() + " rejected from " + executor.toString());});// 初始化调度器scheduler.initialize(); return scheduler;}
}

2、springboot配置

springboot的配置:修改线程池大小等

spring.task.scheduling.pool.size=5
spring.task.scheduling.thread-name-prefix=config-scheduler-

三、源码分析

springboot默认会自动配置,创建一个ThreadPoolTaskScheduler:
但是默认的线程池的PoolSize是1!!!这是个坑,需要注意。
在这里插入图片描述
在这里插入图片描述

参考资料

https://docs.spring.io/spring-framework/reference/integration/scheduling.html

http://www.dtcms.com/wzjs/797179.html

相关文章:

  • 沈阳做网站哪家质量好价格低搜书网站 怎么做
  • 天河微网站建设市场价格查询
  • 北京示范校建设网站百度官网首页网址
  • 舟山建设信息港门户网站宠物网站建设规划书
  • 网站建设推荐书籍酒店网站建设系统介绍
  • 融水苗族自治县网站建设公司网站建立的意义
  • 上海加盟网站建设苏州 中英文网站建设
  • 织梦做的网站如何去掉index广州制作网站企业
  • 公司企业网站建设方案书桂林人生活网论坛
  • 杭州网站建设网页制作简洁自适应wordpress主题
  • 宁波网站建设方案联系方式wordpress 漂亮按钮
  • 北京公司网站制作流程如何给网站增加外链
  • 企业官网响应式网站柬埔寨做网站
  • 河南郑州网站推广优化外包wordpress如何新建页面模板
  • 大连模板网建站优秀企业网站有哪些
  • 如何建设传奇网站盗版网站怎么做的
  • 如何做网站轮播图和菜单全屏机械电子工程专业知识网
  • 网站建设 深度网wordpress段子
  • intitlt:山西大同网站建设Wordpress手机端模版
  • wordpress主题的使用seo关键技术有哪些
  • 淄博网站建设小程序青岛人社app
  • 广州网站推广哪家好中企动力经常加班吗
  • 怎么通过局域网建设网站国内国外重大新闻
  • 网站设计规划图网址价格
  • 做公众号的网站模板下载吗淄博高效网站建设找哪家
  • 湖南网站推广有哪些好的响应式网站
  • 免费的建网站软件吉粤建设工程股份有限公司网站
  • 成都网站开发工作室wordpress关键词描述插件
  • 骏驰网站建设一般纳税人企业所得税怎么征收
  • 国际网站空间福州百度网站快速优化