代码实例
@Configuration
public class SchedulerConfig {
private static final int SCHEDULER_POOL_SIZE = 5;
private static final String SCHEDULER_THREAD_NAME_PREFIX = "scheduler-";
@Bean
public ThreadPoolTaskScheduler threadPoolTaskScheduler() {
ThreadPoolTaskScheduler threadPoolTaskScheduler = new ThreadPoolTaskScheduler();
threadPoolTaskScheduler.setPoolSize(SCHEDULER_POOL_SIZE);
threadPoolTaskScheduler.setThreadNamePrefix(SCHEDULER_THREAD_NAME_PREFIX);
return threadPoolTaskScheduler;
}
}
@Service
@AllArgsConstructor
public class SchedulerServiceImpl implements SchedulerService {
private final ThreadPoolTaskScheduler threadPoolTaskScheduler;
@Override
public void startTaskOnce(Runnable task, long delaySecond) {
Instant executeInstant = Instant.now().plusSeconds(delaySecond);
threadPoolTaskScheduler.schedule(task, executeInstant);
}
}
PREVIOUSRedisTemplate使用