JAVA 适用于异步定时任务的自定义线程池[一]

简介: 暂无摘要

1,定义ThreadPoolTaskExecutor

@Bean
    public ThreadPoolTaskExecutor terminalActivityDetectionTaskExecutor() {
        ThreadPoolTaskExecutor threadPoolTaskExecutor = new ThreadPoolTaskExecutor();
        threadPoolTaskExecutor.setMaxPoolSize(terminalJobActivityDetectionProperties.getMaxPoolSize());
        threadPoolTaskExecutor.setCorePoolSize(terminalJobActivityDetectionProperties.getCorePoolSize());
        threadPoolTaskExecutor.setQueueCapacity(terminalJobActivityDetectionProperties.getQueueCapacity());
        threadPoolTaskExecutor.setThreadNamePrefix(terminalJobActivityDetectionProperties.getThreadNamePrefix());
        threadPoolTaskExecutor.setKeepAliveSeconds(terminalJobActivityDetectionProperties.getKeepAliveSeconds());
        threadPoolTaskExecutor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
        threadPoolTaskExecutor.setTaskDecorator(MagicalRunnableWrapper::new);
        threadPoolTaskExecutor.initialize();
        return threadPoolTaskExecutor;
    }

此处,bean name 为 terminalActivityDetectionTaskExecutor

2,在具体的实现类中注入Bean

    private final ThreadPoolTaskExecutor terminalActivityDetectionTaskExecutor;

    public TerminalActivityDetectionServiceImpl(ThreadPoolTaskExecutor terminalActivityDetectionTaskExecutor) {
        this.terminalActivityDetectionTaskExecutor = terminalActivityDetectionTaskExecutor;
    }

3,调用execute方法。

terminalActivityDetectionTaskExecutor.execute(() -> {
    //此处编写具体的任务执行代码
});
目录
相关文章
|
4月前
|
Java 调度 Spring
Java中几种定时任务使用与详解
Java中几种定时任务使用与详解
90 0
|
3月前
|
Java jenkins 持续交付
Java项目jar包启动脚本,适用jenkins或定时任务或手动执行
Java项目jar包启动脚本,适用jenkins或定时任务或手动执行
239 3
|
2月前
|
Java 调度
java定时任务3分钟一次
7月更文挑战第6天
76 1
|
2月前
|
负载均衡 Java 调度
Java中的定时任务实现详解
Java中的定时任务实现详解
|
2月前
|
Java 调度 Spring
Java中的定时任务调度与管理
Java中的定时任务调度与管理
|
2月前
|
监控 Java 调度
使用Java实现高性能的定时任务调度
使用Java实现高性能的定时任务调度
|
3月前
|
XML Java 数据格式
一篇文章讲明白java的常用定时任务的几种方式
一篇文章讲明白java的常用定时任务的几种方式
31 0
|
12月前
|
算法 Java Linux
Java线程常用定时任务算法与应用
Java线程常用定时任务算法与应用
104 0
|
4月前
|
XML Java API
Spring Boot 整合 Quartz 实现 Java 定时任务的动态配置
Spring Boot 整合 Quartz 实现 Java 定时任务的动态配置
106 0
|
4月前
|
Java Linux 调度
Java【付诸实践 03】Spring定时任务注解@Scheduled+@EnableAsync用法详解(简单说明+应用场景+demo源代码+执行过程分析)
Java【付诸实践 03】Spring定时任务注解@Scheduled+@EnableAsync用法详解(简单说明+应用场景+demo源代码+执行过程分析)
99 2