admin 管理员组文章数量: 1103785
启动类Application
在启动类上增加注解:@EnableScheduling
@EnableCaching
@SpringBootApplication(exclude = DruidDataSourceAutoConfigure.class)
//在这里增加注解
@EnableScheduling
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
定时任务
编写定时任务,在定时方法前增加**@Scheduled**注解,fixedDelay = 3600000含义是每3600s执行一次任务。
使用@PostConstruct注解,可以让任务在项目启动的时候执行一起。
@Component
@Slf4j
public class SendNotice {
private static final Logger LOGGER = LoggerFactory.getLogger(SendNotice.class);
private ICheckItemService iCheckItemService;
@Scheduled(initialDelay = 4000, fixedDelay =3600000)
@PostConstruct
public void sendNotice(){
LOGGER.info("发送通知信息");
iCheckItemService.send();
}
@Autowired
public void setiCheckItemService(ICheckItemService iCheckItemService){
this.iCheckItemService = iCheckItemService;
}
}
线程池配置类
增加配置类,不增加该类会出现线程池报错。
@Configuration
public class ScheduledConfig {
@Bean
public TaskScheduler taskScheduler() {
ThreadPoolTaskScheduler scheduling = new ThreadPoolTaskScheduler();
scheduling.setPoolSize(10);
scheduling.initialize();
return scheduling;
}
}
版权声明:本文标题:java中实现定时任务(使用@Schedule注解) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.520sys.cn/xp/1755005191a1455558.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论