1 动态数据源的切换问题

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

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

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

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

/**
 * 动态数据源持有者,负责利用ThreadLocal存取数据源名称 
 * 确保数据源的独立安全
 */
public class DynamicDataSourceHolder {
    /**
     * 本地线程共享对象
     */
    private static final ThreadLocal<String> 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 保存每个数据源 确保其当前线程的独立

ETL开发过程中遇到的问题相关推荐

  1. 如何在 ETL 项目中统一管理上百个 SSIS 包的日志和包配置框架

    一直准备写这么一篇有关 SSIS 日志系统的文章,但是发现很难一次写的很完整.因为这篇文章的内容可扩展的性太强,每多扩展一部分就意味着需要更多代码,示例和理论支撑.因此,我选择我觉得比较通用的 LOG ...

  2. 嵌入式系统开发过程中遇到的——volatile

    嵌入式 系统开发过程中遇到的-- volatile 对于不同的计算机体系结构,设备可能是端口映射,也可能是内存映射的 .如果系统结构支持独立的 I/O 地址空间,并且是端口映射,就必须使用汇编语言完成 ...

  3. Asp.net开发过程中,我们会遇到很多Exception

    在Asp.net开发过程中,我们会遇到很多Exception,不处理这些Exception的话会出现很难看的页面. 还有一些我们未预料到的Exception,当发生Exception时,我们也必须进行 ...

  4. 项目开发过程中的收获与思考

    2013年7月,我正式毕业了,到公司入职,也就正式成为了一名菜鸟程序员.到今天,2014年1月3日,目前主要的工作是公司一个项目中的一个功能模块,到我进入项目组算起,已经过了四个月了.因此,想写点东西 ...

  5. 小视频开发过程中最关注的两点关键

    小视频凭借它独有的特征在互联网领域获得了属于自己的一席之地,斩获搞笑.游戏.美食等行业后,在教育.财经等方面还拥有更加可观的发展前景.那么,在小视频开发过程中应该怎样结合它的能力实现业务上的突破呢? ...

  6. 人工智能和大数据的开发过程中需要注意这12点

    https://www.toutiao.com/i6636522371094151694/ 2018-12-19 10:16:15 人工智能是近年来科技发展的重要方向,在大数据时代,对数据采集.挖掘. ...

  7. quartusii开发过程中路径不能出现空格或中文

    quartusii开发过程中路径不能出现空格或中文,否则软件出现.stf文件错误提示,开发环境搭建的时候也不能出现空格和中文,否则也会报错.

  8. 对复杂业务组件在实际开发过程中被调用的反思

    写这篇文章的初衷是为了记录我在修复项目中一个复杂业务组件中的bug而引起其他依赖这个组件的功能无法使用的过程中,对使用.维护复杂业务组件的一些思考 原文地址 Bug发生原因 我所在的项目组中, 有一个 ...

  9. 开发过程中快速抓包并解析

    开发过程中快速抓包并解析 这几天小编在工作中遇到了一个灵异事件,客户端使用的是安卓原生系统,服务端使用的是java.需求就是客户端在照相的时候可以实时上传照片.后台接收并保存,并且可以在平台上显示.看 ...

最新文章

  1. 【FFmpeg】ffmpeg工具源码分析(一):main函数
  2. 《百面机器学习》---AI算法工程师求职必备“面经”
  3. Linux/ubuntu 安装 redis 4.0报错解决:redis-server.service: Can't open PID file /var/run/redis/redis-server.
  4. 【简明书】机器学习用例书册
  5. 深圳网络推广是如何提高网站的收录比的?
  6. 信息学奥赛一本通(C++)在线评测系统——基础(二)基础算法 —— 1312:【例3.4】昆虫繁殖
  7. 【Android】7.1 布局控件常用的公共属性
  8. Linux小宝典之理解Chroot模式
  9. (一)RFB协议概述
  10. 【Linux】快速入门法宝~你值得拥有
  11. Jo-SRC: A Contrastive Approach for Combating Noisy Labels
  12. 使用appfox工具测试登录有图片验证码接口的问题
  13. Package javax.script
  14. java学习-画图小程序
  15. 乘基取整法是什么_数学基础——进制转换
  16. asp 实现访问memcached方式
  17. 关于3ds Max在镜像时会出现乱线的问题!
  18. 2021年安徽省副高考试成绩查询,中国卫生人才网 2021年卫生资格考试成绩查询官网...
  19. HttpWebRequest FileStream分块读取和写入文件WebClient
  20. Uniapp Android 佳博 小票打印机 插件

热门文章

  1. 爬取今日头条收藏夹文章列表信息
  2. 【图片按钮】在微信小程序中实现图片按钮
  3. 全网唯一正确身份证和社统一社会信用代码自定义表单校验器(身份证校验和社统一社会信用代码校验)
  4. 向下取整数学符号_向上取整与向下取整
  5. 数据分析(入门)纳米学位_tensorflow纳米级程序对机器学习入门的回顾
  6. matlab 图像白平衡算法,Matlab常用白平衡算法
  7. 360需要的,不是打工者——周鸿祎在360新员工入职培训上的讲话
  8. MySQL系列:innodb源码分析之表空间管理
  9. VB操作EXCEL方法汇总
  10. 入门级蓝牙遥控小车制作教程