当前位置: 首页 > 面试题库 >

spring @Scheduled注释方法是否在不同的线程上运行?

上官德寿
2023-03-14
问题内容

我有几种用注释的方法@Scheduled(fixedDelay=10000)

在应用程序上下文中,我具有以下注释驱动的设置:

<task:annotation-driven />

问题是,有时某些方法的执行会延迟几秒钟甚至几分钟。

我假设即使某个方法需要一段时间才能完成执行,其他方法仍会执行。所以我不明白延迟。

有没有办法减少甚至消除延迟?


问题答案:

为了完整起见,以下代码显示了使用java config配置调度程序的最简单方法:

@Configuration
@EnableScheduling
public class SpringConfiguration {

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

当需要更多控制时,@Configuration可以实现一个类SchedulingConfigurer



 类似资料: