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保存每个数据源以确保当前线程是独立的