如何防止春季日程重叠?

2023-12-23

@Scheduled(fixedDelay = 5000)
public void myJob() {
     Thread.sleep(12000);
}

如果上一个例程尚未完成,如何阻止此春季作业运行?


默认情况下,spring使用单线程Executor。所以两个@Scheduled 任务不会重叠。即使完全不相关的类中的两个 @Scheduled 方法也不会重叠,因为只有一个线程执行所有@Scheduled 任务。

此外,即使您使用基于线程池的执行器替换默认的执行器,这些执行器通常也会延迟任务实例的执行,直到先前调度的实例完成。这对于固定延迟、固定间隔和 cron为基础的时间表。例如,这个 spring 配置将创建一个调度线程池执行器它使用线程池,但不允许如您所愿的同一调度的并发实例:

@Configuration
@EnableScheduling
...
public class MySpringJavaConfig {
    @Bean(destroyMethod = "shutdown")
    public Executor taskScheduler() {
        return Executors.newScheduledThreadPool(5);
    }
    ...
}

这里是ScheduledThreadPoolExecutor::scheduleAtFixedRate 的 javadoc http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html#scheduleAtFixedRate-java.lang.Runnable-long-long-java.util.concurrent.TimeUnit-其中指定:

如果此任务的任何执行时间超过其周期,则后续执行可能会延迟开始,但不会同时执行。

注意:此功能不适用于@异步任务。 spring 将根据需要创建尽可能多的并发实例(如果池中有足够的线程)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何防止春季日程重叠? 的相关文章

  • 无法解析符号“AuthUI”

    我正在添加 firebase google 和 Gmail 登录 但是当我粘贴代码时 onAuthStateChanged NonNull FirebaseAuth firebaseAuth 方法我收到此错误 无法解析符号 AuthUI 在
  • Spring:url 无法正确解析链接

    尽管我对 Java 有丰富的经验 但我对 Spring 框架和 Web 应用程序还很陌生 当我在本地 tomcat 服务器上运行我的网站时 URL 为 http localhost 8080 myApp 现在 请求映射将我委托到我的主页 R
  • Spring Boot Service的注解@Autowired失败

    我正在尝试使用 AutowiredSpring Boot 应用程序中 Service 类的注释 但它不断抛出No qualifying bean of type例外 但是 如果我将服务类更改为 bean 那么它就可以正常工作 这是我的代码
  • 同步 Set 线程的构造函数副本安全吗?

    获取同步版本的最简单方法java util Set将使用Collections synchronizedSet 像这样 Set mySyncSet Collections synchronizedSet new HashSet The Ja
  • 使用 Atomikos 进行两阶段提交 (2PC) 配置

    我正在创建一个示例应用程序来测试两阶段提交 2PC 我从互联网上获取了此处使用的代码位 我使用 Spring Hibernate 和 Atomikos 并以 MySQL 作为后端 我正在使用两个数据库 并故意使对第二个数据库的调用失败 以检
  • java中使用多个分隔符分割字符串

    我正在研究一种数据挖掘算法 我需要使用多个单词来标记字符串 我有一个单独的文件 其中包含所有停用词 我需要做的是通过任何作为分隔符的单词 停用词 来标记输入字符串 例如 如果文件包含停用词 a is and of that 输入字符串变为
  • Spring 3.1 Java配置和内部bean

    Bean public TimedRepository timedRepository RealRepository repo return new TimedRepository repo timer Adds some metrics
  • 如何从 Android 服务获取应用程序上下文?

    我有一个正在运行并监听麦克风输入的 Android 服务 我希望它在满足特定条件时启动一项活动 为了创建意图 我需要应用程序上下文 我怎么才能得到它 Intent i new Intent ctx SONR class i addFlags
  • new Date() 和日历日期之间的区别

    在实践中 下面两个日期有什么区别 Date date new Date Date date Calendar getInstance getTime 我的理解是 new Date 是基于 UTC GMT 的日期 而日历的 getTime 基
  • 执行 POST 请求时 Spring Boot 端点 403 OPTIONS

    我正在使用 Spring 运行一个服务 当我的 Angular 前端尝试发出 POST 请求时 会收到带有请求方法 选项的 403 错误 Spring 服务和 Angular 应用程序都在我的机器上本地运行 我尝试使用 Chrome 插件切
  • 更改 Java 字符串中的日期格式

    I ve a String代表一个日期 String date s 2011 01 18 00 00 00 0 我想将其转换为Date并将其输出到YYYY MM DD format 2011 01 18 我怎样才能实现这个目标 好的 根据我
  • Kafka 0.10 Java 客户端超时异常:包含 1 条记录的批次已过期

    我有一个单节点 多 3 个代理 Zookeeper Kafka 设置 我正在使用 Kafka 0 10 Java 客户端 我编写了以下简单的远程 在与 Kafka 不同的服务器上 生产者 在代码中我用 MYIP 替换了我的公共 IP 地址
  • 我应该在哪里以 Java MVC 模式调用我的 swingworker

    我有一个程序 其设置基本上与此 MVC 示例中的程序一样 http www leepoint net notes java GUI struct 40mvc html http www leepoint net notes java GUI
  • Java 8 Streams - 嵌套映射到列表

    firstlist stream map x gt return secondList stream map y gt return a string collect Collectors toList Output I need Get
  • 针对未经身份验证的用户的 Spring Security 404 页面

    我正在使用 Spring Boot 和 Thymeleaf 我有一个自定义 404 模板页面定义在src main resources templates error 404 html 当用户登录时这可以正常工作 然而 当他们注销时 他们不
  • 从字符串中删除特定字符[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何从字符串中删除特定字符 我有一个 Arraylist 测试数组 String line testingarray get index
  • 将字符串从代码页 1252 转换为 1250

    我怎样才能转换一个String将代码页 1252 中的字符解码为String在代码页 1250 中解码 例如 String str1252 String str1250 convert str1252 System out print st
  • 正确检查 FTP 服务器连接

    我在程序开始时打开与 FTP 服务器的连接 在对服务器执行操作之前 我想检查连接是否已成功建立 最简单快速的方式 因此如果连接消失 我将尝试再次连接 我用这段代码来做到这一点 private boolean checkConnection
  • 如何设置Spring Security SecurityContextHolder策略?

    我在我的服务中使用异步方法 Spring 3 Async注解 我遇到了一个问题 生成的线程没有安全上下文 原因是 Spring Security 默认使用SecurityContextHolder MODE THREADLOCAL其上下文持
  • Spring Boot 应用程序崩溃

    请告诉我哪里有问题 我尝试启动我的第一个在 Spring Boot 上开发的应用程序 我已经在 SpringMVC 上有了简单的 Web 项目 现在我喜欢在 BOOT 上构建它 这是错误输出 org springframework bean

随机推荐

  • MapStruct:对象的映射列表,当对象由两个对象映射时

    假设我有这样的映射 Mapping source parentId target parent id Child map ChildDto dto Parent parent 现在我需要将 ChildDto 列表映射到 Child 列表 但
  • 从 BigQuery 导入到 R 时的特殊字符

    我有一个脚本用于废弃一些推文并将结果保存到 Google BigQuery 当我看到存储的数据时 像 这样的特殊字符会正确显示 但是当我尝试再次将数据导入 R 时 它们会被一些奇怪的字符替换 这是一个例子 Create df id twee
  • 如何在Word文档中插入Image对象作为图片

    所以我有这个函数来生成和返回我的图像 bmp 格式 我想把它放到一个word文档中 我在看InlineShapes AddPicture但只需要一个string参数 这要求我物理保存图片 然后将图片的路径作为参数提供给 AddPicture
  • 为什么这个 Spring AOP 切入点没有被触发?

    我正在编写非常基本的基于模式的 Spring AOP 这是 xml
  • 如何将一个大数组分割成更小的数组?

    给定一个大数组 如何将其拆分为较小的数组 并将较小数组的大小指定为方法的参数 例如 给定数字 Split 的实现会是什么 int numbers new int 7845 int sectionedNumbers numbers Split
  • 贵公司如何部署其软件?

    我目前正在进行一个短期研究项目 我工作的公司有一个非常繁重的发布流程 随着时间的推移 情况变得越来越糟 我们在每个版本中遇到越来越多的问题 这开始严重影响我们的交付时间表和每个版本的质量 我们提供了一个大型 SAAS 产品 该产品部署到互联
  • cudaFree 不释放内存

    下面的代码计算两个向量 a 和 b 的点积 正确的结果是8192 当我第一次运行它时 结果是正确的 然后 当我第二次运行它时 结果是之前的结果 8192 等等 1st iteration result 8192 2nd iteration
  • 缩写函数模板与带有转发引用参数的函数模板

    两者有什么区别带有转发参考参数的函数模板 template
  • 如何将文件上传请求从 Next.js API 传递到另一个 API?

    我正在尝试在 Next js 应用程序中裁剪图像 将其发送到应用程序中的 API 路由 最后发送到应用程序外部的 API 端点 如果我绕过 API 路由 它可以正常工作 但在通过它时就不行了 图像数据不再正确且无法处理 客户端 Next j
  • Laravel 5.4 中未找到“NumberFormatter”类

    我正在尝试使用 PHP 的 intl 扩展将金额转换为单词 例如 第1450章 一千四百五十 我正在使用 Laravel 5 4 它在 XAMPP 3 2 2 服务器上运行 PHP 5 6 24 正如类似问题中提到的 我已经启用了intl通
  • 在简单的 2d 游戏中实现重力

    我正在制作一个简单的游戏 比如马里奥 角色固定在一个位置 地面向左移动 给人一种角色移动的错觉 地面由左上角和右下角坐标定义的矩形块组成 private int surfaceMatrix 0 100 300 0 block having
  • 使用 Pyspark 时,您会从 Kryo 序列化器中受益吗?

    我读到 Kryo 序列化器在 Apache Spark 中使用时可以提供更快的序列化 不过 我通过 Python 使用 Spark 切换到 Kryo 序列化器后我还能获得显着的好处吗 Kryo不会造成重大影响PySpark因为它只是将数据存
  • Javascript slice 方法是否返回浅拷贝?

    在 Mozilla 开发人员翻译的韩语中 lan g 说 切片方法 返回浅复制的新数组 所以我测试了我的代码 var animals ant bison camel duck elephant var t animals slice 2 4
  • 从 XIB 文件按钮显示 ViewController - Swift

    有没有办法segue from a xib file 自定义 TableViewCell 到另一个视图控制器在 Main storyboard 中 不可能像在主故事板中那样拖动转场 在单元格中我有一个按钮 我想从那里更改视图 我该如何解决
  • 删除注释会提高代码性能吗? JavaScript

    从 JavaScript 代码中删除注释会提高性能吗 我意识到这不是很好的编程实践 因为注释构成了开发的固有部分 我只是想知道它们是否确实在编译过程中增加了一些开销 无论您是编译还是解释 JavaScript 编译器 解释器都需要查看该行
  • 链接器如何找到main函数?

    链接器如何在 x86 64 ELF 格式的可执行文件中找到 main 函数 一个非常通用的概述 链接器将地址分配给由符号标识的代码块main 正如它对目标文件中的所有符号所做的那样 实际上 它并不分配真实地址 而是分配相对于某个基址的地址
  • 以编程方式创建的按钮的 Onclicklistener

    我一直在寻找这个问题的答案 但似乎找不到 我有一个以编程方式创建的按钮 而不是在 xml 文件中 我希望在单击它时发生一些事情 显示警报或移动到另一个屏幕等 按钮代码 Button submitButton new Button this
  • 不带等号的 ASP.NET QueryString

    当我有一个像这样的网址时 http www mysite com MyTest http www mysite com MyTest MyTest 显示为请求对象的查询字符串中的键 如果我删除 符号 例如 http www mysite c
  • FxCop Phoenix 分析引擎出错

    因此 我尝试运行规则集中定义的一堆规则 RuleSet 文件实际上是使用 Sonarqube 生成的 我已经选择了其中的所有规则 包括 FxCop ReSharper 和 StyleCop 规则 我这样启动 FxCop C FxCop Fx
  • 如何防止春季日程重叠?

    Scheduled fixedDelay 5000 public void myJob Thread sleep 12000 如果上一个例程尚未完成 如何阻止此春季作业运行 默认情况下 spring使用单线程Executor 所以两个 Sc