公式ドキュメント:Scheduling Tasks (日本語版)
@Configuration
@EnableScheduling
public class SchedulingTasksConfig {
}
プロファイルで有効・無効を切り替える場合は@ConditionalOnPropertyを活用する。
@Configuration
@EnableScheduling
@ConditionalOnProperty(name = "app.scheduling-tasks.enabled")
public class SchedulingTasksConfig {
}
@Component
public class ProgramachoScheduler {
@Scheduled(cron = "0 0 * * * *")
public void programacho() {
// Be programacho!
}
}
スケジュール設定はプロパティを参照できる。
@Scheduled(cron = "${app.scheduling-tasks.cron}")
デフォルトではシングルスレッドで稼働する。
spring:
task:
scheduling:
pool:
size: 10