Spring4定时任务配置

简介: 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/inforstack/article/details/70244108

applicationContext.xml

<task:annotation-driven />


注解方式

package com.inforstack.eyesense.util.cache.task;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

@Component
public class TaskHxMessage {
	
	public TaskHxMessage(){
		System.out.println("TTTTTTTTTTTTT");
	}
	
	@Scheduled(cron = "0/1 * * * * ? ")
	public void run() {
		System.out.println("Test");
	}
}

实现接口

package com.inforstack.eyesense.util.cache.task;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.SchedulingConfigurer;
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
import org.springframework.scheduling.config.ScheduledTaskRegistrar;
import org.springframework.scheduling.support.CronTrigger;

import com.inforstack.eyesense.jpa.service.DictionaryService;
import com.inforstack.eyesense.jpa.service.IMMessageService;
import com.inforstack.eyesense.util.Constants;

@Configuration	//声明
@EnableAsync	//启动异步
@EnableScheduling //使用调度
public class ScheduleConfig implements SchedulingConfigurer {
	
	@Autowired
	private DictionaryService dictionaryService;
	@Autowired
	private IMMessageService imMessageService;
	
	@Override
	public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
		String cron = dictionaryService.getValue(Constants.CONFIGURATION_GROUP_SYSTEM, Constants.CONFIGURATION_KEY_HX_GET_DATE_CRON);
		ThreadPoolTaskScheduler tpts = new ThreadPoolTaskScheduler();
		tpts.initialize(); //一定要初始化,不然会抛异常
		HxMessageRunnable hmr = new HxMessageRunnable(imMessageService, dictionaryService);
		taskRegistrar.setTaskScheduler(tpts);
		taskRegistrar.getScheduler().schedule(hmr, new CronTrigger(cron));
	}
}




相关文章
|
14天前
|
SQL Java 数据库连接
(自用)Spring常用配置
(自用)Spring常用配置
16 0
|
1月前
|
druid Java 数据库
Spring Boot的定时任务与异步任务
Spring Boot的定时任务与异步任务
|
1月前
|
监控 Java 数据处理
【Spring云原生】Spring Batch:海量数据高并发任务处理!数据处理纵享新丝滑!事务管理机制+并行处理+实例应用讲解
【Spring云原生】Spring Batch:海量数据高并发任务处理!数据处理纵享新丝滑!事务管理机制+并行处理+实例应用讲解
|
2月前
|
缓存 Java Maven
Spring Boot自动配置原理
Spring Boot自动配置原理
48 0
|
1月前
|
SQL Java 数据库连接
挺详细的spring+springmvc+mybatis配置整合|含源代码
挺详细的spring+springmvc+mybatis配置整合|含源代码
42 1
|
7天前
|
存储 安全 Java
第2章 Spring Security 的环境设置与基础配置(2024 最新版)(下)
第2章 Spring Security 的环境设置与基础配置(2024 最新版)(下)
16 0
|
7天前
|
安全 Java 数据库
第2章 Spring Security 的环境设置与基础配置(2024 最新版)(上)
第2章 Spring Security 的环境设置与基础配置(2024 最新版)
29 0
|
8天前
|
安全 Java Spring
Spring Security 5.7 最新配置细节(直接就能用),WebSecurityConfigurerAdapter 已废弃
Spring Security 5.7 最新配置细节(直接就能用),WebSecurityConfigurerAdapter 已废弃
19 0
|
8天前
|
安全 Java 应用服务中间件
江帅帅:Spring Boot 底层级探索系列 03 - 简单配置
江帅帅:Spring Boot 底层级探索系列 03 - 简单配置
24 0
江帅帅:Spring Boot 底层级探索系列 03 - 简单配置
|
14天前
|
JSON Java 数据库连接
属性注入掌握:Spring Boot配置属性的高级技巧与最佳实践
属性注入掌握:Spring Boot配置属性的高级技巧与最佳实践
23 1