在TDDL5中,TAtomDataSource代表一个原子数据源,即一个物理上DB instance。
Atom模块通过Decorator模式封装了JDBC Driver中的DataSource, Connection, Statement等类,主要增加了两个功能:限流 & 动态配置。
一、限流
限流是通过JDBC Driver的修饰类做到的,核心类如下图:
在TDataSourceWrapper类中包含了多个计数器,与该DataSourceWrapper相关的statement、connection、resultset中的读写操作都会更新计数器。若针对DataSource设定了访问阈值,则超过读写阈值时,connection\statement\resultset对象将会抛出异常。
二、动态配置
动态配置是通过TAtomDataSource类实现的,相关类如下图:
TAtomDataSource实例拥有一个TAtomDsConfHandle对象,用于动态拉取数据库以及连接池配置信息。