zoukankan      html  css  js  c++  java
  • springboot-定时任务-多线程

    1、配置异步线程池

    import java.util.concurrent.Executor;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.scheduling.annotation.EnableAsync;
    import org.springframework.scheduling.annotation.EnableScheduling;
    import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
    @Configuration
    @EnableAsync//开启异步事件的支持
    public class AsyncConfig {
    
    	/*
    	 * 此处成员变量应该使用@Value从配置中读取
    	 */
    	private int corePoolSize = 10;
    	private int maxPoolSize = 200;
    	private int queueCapacity = 10;
    
    	@Bean
    	public Executor taskExecutor() {
    		ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
    		executor.setCorePoolSize(corePoolSize);
    		executor.setMaxPoolSize(maxPoolSize);
    		executor.setQueueCapacity(queueCapacity);
    		executor.initialize();
    		return executor;
    	}
    
    }
    

    2、定时任务类

    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.scheduling.annotation.Async;
    import org.springframework.scheduling.annotation.EnableScheduling;
    import org.springframework.scheduling.annotation.Scheduled;
    import org.springframework.stereotype.Component;
    @Component
    @EnableScheduling
    public class ScheduledService {
    
    	private Logger logger = LoggerFactory.getLogger(ScheduledService.class);
    
    	@Scheduled(cron = "0/5 * * * * *")
    	@Async
    	public void scheduled() {
    		logger.info("=====>>>>>使用cron  {}", System.currentTimeMillis());
    	}
    
    	@Scheduled(fixedRate = 5000)
    	@Async
    	public void scheduled1() {
    		logger.info("=====>>>>>使用fixedRate{}", System.currentTimeMillis());
    	}
    
    	@Scheduled(fixedDelay = 5000)
    	@Async
    	public void scheduled2() {
    		logger.info("=====>>>>>fixedDelay{}", System.currentTimeMillis());
    	}
    }
    

      

  • 相关阅读:
    6个Windows Live™ Messenger beta的邀请
    终于可以抛弃Adobe Acrobat了
    如何在VxWorks下为TAU G2的程序设置断点
    基于C++的模板引擎
    思维导图确实是个好东西
    换了一个免费的PDF生成工具
    V.42 bis的源程序
    统计源程序的工具
    Doxygen的输出中文乱码
    如何编写Google CTemplate的Modifier
  • 原文地址:https://www.cnblogs.com/lichangyunnianxue/p/9771517.html
Copyright © 2011-2022 走看看