zhaowenxuan
2025-02-15 d9006551fff47c172ea6a0672af7dd21df34f28f
ltkj-framework/src/main/java/com/ltkj/framework/aspectj/DataSourceAspect.java
@@ -2,6 +2,7 @@
import java.util.Objects;
import com.ltkj.db.DataSourceContextHolder;
import com.ltkj.framework.datasource.DynamicDataSourceContextHolder;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
@@ -35,6 +36,10 @@
    @Around("dsPointCut()")
    public Object around(ProceedingJoinPoint point) throws Throwable {
        String key = DataSourceContextHolder.getDataSourceKey();
        logger.info("执行之前");
        logger.info("DataSourceContextHolder ->{}",key);
        logger.info("DynamicDataSourceContextHolder ->{}",DynamicDataSourceContextHolder.getDataSourceType());
        DataSource dataSource = getDataSource(point);
        if (StringUtils.isNotNull(dataSource)) {
@@ -44,8 +49,16 @@
        try {
            return point.proceed();
        } finally {
            logger.info("执行之后");
            logger.info("DataSourceContextHolder ->{}",key);
            logger.info("DynamicDataSourceContextHolder ->{}",DynamicDataSourceContextHolder.getDataSourceType());
            // 销毁数据源 在执行方法之后
            DynamicDataSourceContextHolder.clearDataSourceType();
//            DataSourceContextHolder.setDataSourceKey(key);
//            DynamicDataSourceContextHolder.setDataSourceType(key);
            logger.info("执行之后 clear之后");
            logger.info("DataSourceContextHolder ->{}",key);
            logger.info("DynamicDataSourceContextHolder ->{}",DynamicDataSourceContextHolder.getDataSourceType());
        }
    }