提示信息

spring 定时执行job

回归原点 已关注

Spring提供了一个非常好用的定时任务模块:Spring Task。它可以很容易地创建定时任务。以下是如何使用Spring Task来定期执行一个Spring Batch Job。

  1. 配置一个TaskScheduler:
  1. @Configuration
  2. @EnableScheduling
  3. public class SchedulerConfiguration {
  4. @Bean
  5. public TaskScheduler taskScheduler() {
  6. ThreadPoolTaskScheduler scheduler = new ThreadPoolTaskScheduler();
  7. scheduler.setPoolSize(10);
  8. return scheduler;
  9. }
  10. }
  1. 在你要执行的Job旁边添加一个@Scheduled注解:
  1. @Autowired
  2. JobLauncher jobLauncher;
  3. @Autowired
  4. Job myJob;
  5. @Scheduled(cron = "0 0 * * * *") // 这个Cron表达式表示每小时的0分0秒执行一次
  6. public void run() {
  7. try {
  8. JobParameters parameters = new JobParametersBuilder().addLong("time",System.currentTimeMillis()).toJobParameters();
  9. jobLauncher.run(myJob, parameters);
  10. } catch (Exception e) {
  11. e.printStackTrace();
  12. }
  13. }

这个配置将会让run()方法每小时执行一次。你可以更改Cron表达式以改变执行频率。

请注意,你也需要在主应用类(通常是名为Application的类)上添加@EnableScheduling注解来激活这些定时任务。

这只是使用Spring进行定时任务的基本示例,更复杂的逻辑可能需要更详细的配置。

    遇到难题? "AI大模型GPT4.0、GPT" 是你的私人解答专家! 点击按钮去提问......
回归原点 关注 已关注

最近一次登录:2023-10-09 13:56:23   

暂时还没有签名,请关注我或评论我的文章
×
免费图表工具,画流程图、架构图