Spring Boot项目中TaskDecorator的应用实践

一、前言

TaskDecorator是一个执行回调方法的装饰器,主要应用于传递上下文,或者提供任务的监控/统计信息,可以用于处理子线程与主线程间数据传递的问题。

二、开发示例

1.自定义TaskDecorator

import org.springframework.core.task.TaskDecorator;

public class MyTaskDecorator implements TaskDecorator {
   
    @Override
    public Runnable decorate(Runnable runnable) {
   
        return ()->{
   
            System.out.println("线程执行前,资源设置。。。。");
            runnable.run();
            System.out.println("线程执行后,资源清理。。。。");
        };
    }
}

2. 自定义线程池,设置TaskDecorator

ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
executor.setTaskDecorator(new MyTaskDecorator());
executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
executor.setWaitForTasksToCompleteOnShutdown(true);
executor.initialize();

executor.execute(()->{
   
    System.out.println("我是一个测试线程。。。");
});

executor.shutdown();

3. 测试

在这里插入图片描述

相关推荐

  1. python虚拟环境及其在项目实践应用

    2024-02-21 13:12:01       58 阅读
  2. RichSinkFunction 在 Flink IoT 项目应用实战

    2024-02-21 13:12:01       29 阅读
  3. KeyedProcessFunction 在 Flink项目应用实战

    2024-02-21 13:12:01       31 阅读
  4. 【策略模式在项目实际应用

    2024-02-21 13:12:01       24 阅读
  5. ThreadLocal+TaskDecorator实现父子线程 参数传递

    2024-02-21 13:12:01       61 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-21 13:12:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-21 13:12:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-02-21 13:12:01       87 阅读
  4. Python语言-面向对象

    2024-02-21 13:12:01       96 阅读

热门阅读

  1. Converter学习

    2024-02-21 13:12:01       52 阅读
  2. shell关联数组用法

    2024-02-21 13:12:01       51 阅读
  3. webScoket实时通讯聊天

    2024-02-21 13:12:01       58 阅读
  4. CSS的全局值 initial inherit revert overlay unset

    2024-02-21 13:12:01       49 阅读
  5. MFC中不同编码格式内容的写入

    2024-02-21 13:12:01       48 阅读
  6. 手写table表格(一表头多数据)

    2024-02-21 13:12:01       51 阅读
  7. C/C++三角函数math.h库详解

    2024-02-21 13:12:01       49 阅读
  8. ThreadLocal(4):ThreadLocal的核心方法源码

    2024-02-21 13:12:01       49 阅读