//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);
|
// }
|
//}
|