使用SpringBoot设置定时任务

使用Quartz设置定时任务

        maven依赖
        <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-quartz -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-quartz</artifactId>
        </dependency>

需要一个执行任务的执行类

public class TestQuartzJob extends QuartzJobBean {
    private final static Logger LOGGER = LoggerFactory.getLogger(TestQuartzJob.class);

    @Override
    protected void executeInternal(JobExecutionContext jobExecutionContext) throws JobExecutionException {
        LOGGER.info("Test QuartzJob");
    }
}

需要一个定时任务的配置类

@Configuration
public class QuartzConfiguration {
    @Bean
    public JobDetail testQuartzJobDetail() {
        return JobBuilder.newJob(TestQuartzJob.class).withIdentity("自定义名称").storeDurably().build();
    }

    @Bean
    public Trigger testQuartzTrigger() {
        SimpleScheduleBuilder scheduleBuilder = SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(5).repeatForever();
        return TriggerBuilder.newTrigger()
                .forJob(testQuartzJobDetail()).withIdentity("自定义名称")
                .withSchedule(scheduleBuilder).build();
    }
}

效果图:

 

 

通过注解来设置每日定时任务

@Configuration
@EnableScheduling
public class TestJob{
    private final Logger logger = LoggerFactory.getLogger(TestJob.class);

    /**
     * cron表达式
     */
    @Scheduled(cron = "0 0 9 * * ?")
    public void test() {
        logger.info("测试定时任务");
    }

 

这2种定时任务各有优劣,一般每天的数据统计可以用第二种简单粗暴,一般实时数据采集然后存入缓存减少响应时间则推荐第一种。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Spring Boot中设置定时任务可以使用Spring Task这个技术。首先,在引导类上需要添加`@EnableScheduling`注解,开启定时任务功能。然后,我们可以使用Spring自带的定时任务注解来创建定时任务方法。比如,可以在某个类中创建一个方法,并在方法上加上`@Scheduled`注解,设置定时任务执行时间间隔或执行时间点。例如,我们可以在一个Service类中创建一个定时任务方法,并设置每天早上8点执行一次定时任务。代码示例如下: ```java @Service public class MyTaskService { @Scheduled(cron = "0 0 8 * * ?") public void runDailyTask() { // 定时任务逻辑 // ... } } ``` 上述例子中,`@Scheduled(cron = "0 0 8 * * ?")`表示每天早上8点执行一次定时任务。你可以根据需要设置适合的cron表达式来满足你的定时任务需求。然后,当Spring Boot应用启动后,定时任务会自动按照设定好的时间表执行。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [SpringBoot实现定时任务的三种方式](https://blog.csdn.net/m0_67401761/article/details/126114619)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Spring boot开启定时任务的三种方式](https://blog.csdn.net/qianlixiaomage/article/details/106599951)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值