zjh
2025-03-25 f5e009d6c7cdb7ec64ab68feed4456fec49187b8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
//package com.ltkj.framework.aspectj;
//
//import com.ltkj.framework.datasource.DynamicDataSourceContextHolder;
//import lombok.extern.slf4j.Slf4j;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
//
////@Slf4j
//public class DataSourceAwareThreadPoolTaskExecutor extends ThreadPoolTaskExecutor {
//    private static final Logger logger = LoggerFactory.getLogger(AsynAspect.class);
//    @Override
//    public void execute(Runnable task) {
//        String dataSource = DynamicDataSourceContextHolder.getDataSourceType();
//        logger.info("异步传递线程当前线程数据源: {}", dataSource);
//        Runnable wrappedTask = () -> {
//            try {
//                // 将当前数据源传递到异步线程
//                DynamicDataSourceContextHolder.setDataSourceType(dataSource);
//                task.run();
//            } finally {
//                // 执行完毕后清理数据源
//                DynamicDataSourceContextHolder.clearDataSourceType();
//            }
//        };
//        super.execute(wrappedTask);
//    }
//}