ETL开发过程中遇到的问题

1 动态数据源的切换问题

   近期在开发ETL过程中遇到了动态数据源的切换问题 要求是常规配置好自己的数据库 然后后期可以自定义连接数据 有点类似与msql的可视化连接工具 

   实际开发中主要遇到的一些问题 现在记录

 1 数据源的动态切换时 如何保证每个线程的独立

   解决主要使用的使用的是ThreadLocal

 /**
 * 动态数据源持有者,负责利用ThreadLocal存取数据源名称 
 * 确保数据源的独立安全
 */
public class DynamicDataSourceHolder {
    /**
     * 本地线程共享对象
     */
    private static final ThreadLocal THREAD_LOCAL = new ThreadLocal<>();


    public static void putDataSource(String name) {
        THREAD_LOCAL.set(name);
    }


    public static String getDataSource() {
        return THREAD_LOCAL.get();
    }


    public static void removeDataSource() {
        THREAD_LOCAL.remove();
    }

}

在增加数据源的时候 数据源的名字创建出数据源后 利用ThreadLocal 保存每个数据源 确保其当前线程的独立


 

你可能感兴趣的:(java,后端,java,多线程)