当前位置: 首页 > 知识库问答 >
问题:

Spring-Boot中默认的调度器池大小是多少?

籍永安
2023-03-14

我正在使用spring-boot@schedule注释来执行一些任务。

原因:下面的类不是并行地执行作业,而是一个接一个地执行作业。可能默认情况下只配置了一个线程执行器?

@Service
public class ZipFileTesterAsync {

    @Scheduled(fixedDelay = 60000, initialDelay = 500)
    public void run() throws Exception {
        System.out.println("import 1");
        TimeUnit.MINUTES.sleep(1);
        System.out.println("import 1 finished");
    }

    @Scheduled(fixedDelay = 60000, initialDelay = 1000)
    public void run2() throws Exception {
        System.out.println("import 2");
        TimeUnit.MINUTES.sleep(1);
    }
}

结果:第二个作业在第一个作业完成后执行。

共有1个答案

程鸿煊
2023-03-14

是的,默认情况下,所有@schedule方法共享一个线程。可以通过定义以下@configuration来覆盖此行为:

@Configuration
public class SchedulingConfigurerConfiguration implements SchedulingConfigurer {

    @Override
    public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
        ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler();
        taskScheduler.setPoolSize(100);
        taskScheduler.initialize();
        taskRegistrar.setTaskScheduler(taskScheduler);
    }
}

此示例确保所有@schedule方法共享大小为100的线程池。

 类似资料:
  • 问题内容: 我正在使用t和注释执行一些任务。 如何确定spring-boot中预设任务的默认池大小是多少? 原因:以下类不是并行执行作业,而是一个接一个地执行。也许默认情况下仅配置了一个线程执行程序? 结果:在第一个作业完成后执行第二个作业。 问题答案: 是的,默认情况下,所有方法共享一个线程。通过定义如下这样可以覆盖此行为: 本示例确保所有方法共享大小为100的线程池。

  • 当容器加载时,spring boot HikariCP提供的默认连接池大小是多少? 当然,我使用下面的属性来设置最大cp大小,但是我想知道如果我们在application.properties文件中没有给出任何数字,默认的cp大小是多少。 如果我给出application.properties最大池大小为100,而我只使用20,这会影响我的应用程序性能吗?

  • 问题内容: 由于以下原因,我知道如何设置堆栈大小: 如何在Node.js中增加最大调用堆栈大小 但是,默认大小是多少?(即,我如何获得的PHP等效项) 问题答案: 简单的答案是,默认堆栈大小为492 KB(32位)和984KB(64位)。 如soyuka所评论,请尝试以下操作: 要么

  • 我使用SpringBoot(V2.3.0.Release)、JPA和Hibernate(带有MySQL数据库)。总的来说,我需要努力提高表演。 是否需要手动配置(同时添加依赖项)连接池?

  • 问题内容: Java SE 6中Sun的JVM的默认最大堆大小是多少(即等效于设置-Xmx)? 貌似对Java SE 5与服务器级计算机,它的 小于物理内存的1/4或1GB。 额外的问题:对于IBM的JVM,您可以提出要求 您可以类似地询问Sun的JVM吗? 编辑 : 我使用Runtime.getRuntime()。maxMemory来确认min(物理内存/ 4,1G),这在Sun文档中已引用。

  • 在Spring Boot应用程序中或一般情况下,tomcat是否配置了默认线程池? 如果配置了线程池,当容器从池中挑选线程时,特定的线程将服务于许多请求?