我有几种用注释的方法@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
。
我有几个用注释的方法。
我有5@scheduled带注释的方法,我的ThreadPoolTaskScheduler的池大小是10。我的方法的注释是相同的,并且是这样的。 @schedule(fixedDelay=1000,initialDelay=10000) 我的问题是;
我使用的是Spring的@计划和@异步注释。 我的目的 计划一个同步方法——它运行一个for循环,而这个循环将运行一个异步方法,因此循环中的下一个值不需要等到方法完成。 见下面我的代码: 问题: 我的异步方法不会在不同的任务上运行。只有在我将@Async注释也放在我的计划方法上时,它才起作用。但我的计划方法将异步运行到,这不是我想要的。计划的方法需要同步运行,但for循环中被调用的方法需要异步运行
问题内容: 假设我正在定义一个缓存bean,它将在启动应用程序时初始化,并以固定的间隔刷新,如下所示: 即使我未设置初始延迟,也可以确保@PostConstruct下的initializeCache()方法在第一次调度的refreshCache()调用之前立即执行吗? 问题答案: 是的,带有注解的方法可以保证首先执行。 的注释由活化ScheduledAnnotationBeanPostProces
我只想使用@scheduler注释定期运行spring boot main方法。我已经指定了一些附加代码,这些代码将在启用REST服务之前执行一些预操作。 我想每10秒运行一次上面的主方法。并在主方法中添加了@时间表注释。但它抛出了一个例外: 根据doc@Scheduler的预期行为应调用一个没有args[]的方法 我想在main方法中使用注释,如下所示: 错误: 组织。springframewo