SpringTask实现定时任务方法讲解

通过重写Schedu lingConfigurer方法实现对定时任务的操作,单次执行、停止、启动三个主要的基本功能,动态的从数据库中获取配置的定时任务cron信息,通过反射的方式灵活定位到具体的类与方法中

SpringTask是Spring自带的功能。实现起来比较简单。

使用SpringTask实现定时任务有两种方式:

1.注解方式

基于注解@Scheduled

@Scheduled(cron = "*/1 * * * * ?") public  void up(){ System.out.println("定时任务开启:"+System.currentTimeMillis()); }

cron表达式定义定时任务如何去执行。

2.配置文件xml方式

基于xml的方式【@Configuration + @ImportResource + xml】需要重启应用才能生效

配置xml文件,定义xml文件的名称为task.xml,放置文件在resources文件夹下:

xml代码如下:

   

配置类加载xml文件

package com.cloudtop.base.task; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.ImportResource; /** * 加载调度的配置文件 */ @Configuration @ImportResource(locations={"classpath:task/task.xml"})//加载调度xml public class SpringTaskConfig { }

任务的调度类实现

package com.cloudtop.base.task; import com.cloudtop.base.error.exception.BusinessException; import com.cloudtop.core.service.EnvironmentUpService; import org.springframework.beans.factory.annotation.Autowired; /** * 定时任务类 */ public class ScheduleTask { @Autowired EnvironmentUpService environmentUpService; public void yearReportTask() throws BusinessException { System.out.println("*******定时任务执行的业务代码******"); } }

最后,第一种使用注解@EnableSchedu ling开启定时任务,第二种使用xml的方式配置好上面的三个文件就开启了定时任务,不用使用注解@EnableSchedu ling来开启定时任务。

@SpringBootApplication @ServletComponentScan @EnableAutoConfiguration(exclude = {MultipartAutoConfiguration.class}) @EnableSchedu ling public class CloudtopWebFrameApplication extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(CloudtopWebFrameApplication.class); } /** * 主程序入口 * 所有SpringBoot项目均采用main方法启动主程序,该部分为必须项 * @param args */ public static void main(String[] args) { SpringApplication.run(CloudtopWebFrameApplication.class, args); } }

最后在控制台会输出结果:

到此这篇关于SpringTask实现定时任务方法讲解的文章就介绍到这了,更多相关SpringTask定时任务内容请搜索0133技术站以前的文章或继续浏览下面的相关文章希望大家以后多多支持0133技术站!

以上就是SpringTask实现定时任务方法讲解的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » Java