欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

spring boot(18) : 多线程执行定时任务

程序员文章站 2022-05-01 16:28:30
...

参考 : https://www.cnblogs.com/mmzs/p/10161936.html 

import com.google.common.util.concurrent.ThreadFactoryBuilder;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.LinkedBlockingDeque;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;

/**
 * @author jean.zj
 * @date 2018-11-18
 */
@Component
@Configuration 
@EnableScheduling
public class Task {


    private ExecutorService executorService = new ThreadPoolExecutor(5, 10,
            3000, TimeUnit.MILLISECONDS, new LinkedBlockingDeque<>(10), new ThreadFactoryBuilder()
            .setNameFormat("Task-impl-%d").build());

    /**
     * 脱硫数据库连接心跳检测
     * 3分钟之后开始,每3分钟运行一次
     */
    @Scheduled(cron = "0 3/3 * * * ? ")
    public void test() {
        executorService.execute(() -> {
            
        });
    }

}

线程依赖 : https://blog.csdn.net/Lxinccode/article/details/83088189

在线Cron表达式生成器

    http://cron.qqe2.com/

    http://www.bejson.com/othertools/cron/