У меня есть такая реализация, которая не работает. Как видите, задание занимает ~ 5 с и должно выполняться на fixedRate
1 с. Это означает, что должно быть ~ 5 заданий, работающих параллельно, но Spring ожидает завершения задания, прежде чем запускает другое ... Если я добавлю второе задание @Scheduled 'schedule2' с теми же параметрами и параметрами, у меня будет 2 разных задания, работающих параллельно, но никогдата же работа. Можно ли как-то этого добиться?
@Scheduled(fixedRate = 1000)
private void schedule1() {
int index = atomicInteger1.addAndGet(1);
logger.info("Run Schedule1 nr.{} started at: {}", index, LocalDateTime.now());
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
} finally {
logger.info("Schedule1 nr.{} finished at: {}", index, LocalDateTime.now());
}
}
@Bean(destroyMethod = "shutdown")
public Executor taskExecutor() {
return Executors.newScheduledThreadPool(10);
}