1动态数据源切换问题

最近在ETL的开发中遇到了动态数据源切换的问题。 通常,必须配置自己的数据库,然后才能稍后定制连接数据。 类似于msql的可视连接工具

实际开发中主要面临的几个问题目前已有记录

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

解决主要使用的是热局部

//*

使用ThreadLocal访问数据源名称的动态数据源所有者

确保数据源的独立安全

*/

publicclassdynamicdatasourceholder {

//*

*本地线程共享对象

*/

privatestaticfinalthreadlocalstringthread _ local=new thread local (;

publicstaticvoidputdatasource{

thread_local.set(name;

}

publicstaticstringgetdatasource (

return THREAD_LOCAL.get (;

}

publicstaticvoidremovedatasource {

THREAD_LOCAL.remove (;

}

}

添加数据源时,使用数据源名称创建数据源,然后使用ThreadLocal保存每个数据源以确保当前线程是独立的