广告
返回顶部
首页 > 资讯 > 精选 >java中多个@Scheduled定时器不执行如何解决
  • 118
分享到

java中多个@Scheduled定时器不执行如何解决

2023-07-05 21:07:30 118人浏览 安东尼
摘要

本篇内容主要讲解“java中多个@Scheduled定时器不执行如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java中多个@Scheduled定时器不执行如何解决”吧!项目背景:在项目

本篇内容主要讲解“java中多个@Scheduled定时器不执行如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java中多个@Scheduled定时器不执行如何解决”吧!

项目背景:在项目中包含两个定时任务,配置信息如下:

@Scheduled(initialDelay = 1,fixedDelay=10000)

public voud aa(){}

@Scheduled(initialDelay = 1,fixedDelay=10000)

public voud bb(){}

我们需要的都是项目启动后,同时调用执行aa 和bb 方法,我们发现只能执行其中一个!那么如何解决呢?

原因是:@Scheduled注解会在默认情况下以单线程的方式执行定时任务。

这个“单线程”指两个方面:

如果一个定时任务执行时间大于其任务间隔时间,那么下一次将会等待上一次执行结束后再继续执行。
如果多个定时任务在同一时刻执行,任务会依次执行。

我们项目都是配置了initialDelay =1 ,Scheduled启动一个的时候,另外一个根本得不到执行!当然fixedDelay是可以正常按照执行间隔来执行的,就是首次执行收到影响!

为了让@Scheduled效率更高,我们可以通过两种方法将定时任务变成多线程执行::

方法1、在启动类中配置TaskScheduler线程池大小

@Beanpublic TaskScheduler taskScheduler() {ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler();taskScheduler.setPoolSize(10);//不配置默认是1return taskScheduler;}

方法2、利用Spring提供的@Async注解和@EnableAsync注解

@Component@EnableAsyncpublic class TimedTask{@Async@Scheduled(initialDelay = 1,fixedDelay=10000)public void aa() {//执行你的业务逻辑}@Async@Scheduled(initialDelay = 1,fixedDelay=10000)public void bb() {//执行你的业务逻辑}

到此,相信大家对“java中多个@Scheduled定时器不执行如何解决”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: java中多个@Scheduled定时器不执行如何解决

本文链接: https://www.lsjlt.com/news/355422.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java中多个@Scheduled定时器不执行如何解决
    本篇内容主要讲解“java中多个@Scheduled定时器不执行如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java中多个@Scheduled定时器不执行如何解决”吧!项目背景:在项目...
    99+
    2023-07-05
  • java中多个@Scheduled定时器不执行的解决方法
    项目背景:在项目中包含两个定时任务,配置信息如下: 1、@Scheduled(initialDelay = 1,fixedDelay=10000) public voud aa(){...
    99+
    2023-05-14
    java定时器schedule java定时器不触发 java scheduled注解
  • @Scheduled注解不能同时执行多个定时任务的解决方案
    目录@Scheduled注解不能同时执行多个定时任务@Scheduled同时执行多个定时任务所导致的并发问题@Scheduled的执行顺序@Scheduled同步控制定时任务的执行顺...
    99+
    2022-11-13
  • java中finally不执行如何解决
    java中finally不执行如何解决?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、Web应...
    99+
    2023-06-14
  • java多线程执行一半不动如何解决
    如果Java多线程执行一半后不动,可能存在以下几种情况和解决办法:1. 死锁:可能存在多个线程相互等待对方释放资源的情况,导致所有线...
    99+
    2023-08-24
    java
  • java定时任务cron表达式每周执行一次的坑如何解决
    今天小编给大家分享一下java定时任务cron表达式每周执行一次的坑如何解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。j...
    99+
    2023-07-02
  • 如何解决shell脚本中执行时提示“没有那个文件或目录”的问题
    本篇内容主要讲解“如何解决shell脚本中执行时提示“没有那个文件或目录”的问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何解决shell脚本中执行时提示“没有那个文件或目录”的问题”吧!...
    99+
    2023-06-09
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作