[发明专利]一种混合数据源插件化调用系统及调用方法有效
申请号: | 202011372535.3 | 申请日: | 2020-11-30 |
公开(公告)号: | CN112363781B | 公开(公告)日: | 2022-06-10 |
发明(设计)人: | 杨思枢 | 申请(专利权)人: | 杭州玳数科技有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 常州佰业腾飞专利代理事务所(普通合伙) 32231 | 代理人: | 顾翰林 |
地址: | 311121 浙江省杭州市余杭区仓前街道余杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 混合 数据源 插件 调用 系统 方法 | ||
1.一种混合数据源插件化调用系统,其特征在于:包含三个组件,
具体为:A、DataSourceClientFactory组件-数据源客户端制造工厂;
1.目标:数据源客户端代理制造工厂,管理所有数据源客户端代理DataSourceClientProxy的整个生命周期;
2.编程语言采用Java;
B、DataSourceClientProxy组件-数据源客户端代理;
1.目标:在对数据源客户端DataSourceClient做测试联通性,查询,修改,删除操作的时候要做前置和后置操作;
2.编程语言:Java;
C、DataSourceClient组件-数据源客户端;
1.目标:在对数据源客户端DataSourceClient做测试联通性,查询,修改,删除操作;
2.编程语言:Java;
调用系统的方法,包括如下步骤:
步骤一、先初始化数据源客户端代理缓存ClientProxyCache;
步骤二、先通过插件名pluginName从ClientProxyCache里查找看是否已经有数据源客户端代理,如果有,则直接从ClientProxyCache获取数据源客户端代理DataSourceClientProxy;
步骤三、如果没有,则通过DataSourceClientProxy组件构造一个新的数据源客户端代理,把构造出的数据源客户端代理DataSourceClientProxy通过pluginName放入到ClientProxyCache;
步骤四、DataSourceClientFactory组件会通过LRU缓存算法对一段时间内不频繁使用的DataSourceClientProxy进行销毁,会调用ClientProxyCacheremove删除方法进行移除;
步骤五、当客户发起一个数据查询executeQuery请求时,先把当前线程的上下文类加载ContextClassLoader设置成加载DataSourceClient的类加载器;
步骤六、调用DataSourceClient里的数据查询executeQuery方法;
步骤七、在调用executeQuery方法结束后,再把当前线程的上下文类加载ContextClassLoader恢复到调用方法之前;
步骤八、根据插件名自定义类加载器DataSourceClientClassLoader,打破先有的双亲委派模式,先加载自身类加载器的类去加载对应路径下的数据源插件jar包,如果没有再找上游的父类类加载器去加载;
步骤九、通过SPI技术在数据源插件jar包找到IClient文件;
步骤十、在IClient文件读取要数据源客户端完整类路径;
步骤十一、根据完整的类路径通过java的反射机制构造一个数据源客户端DataSourceClient。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州玳数科技有限公司,未经杭州玳数科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011372535.3/1.html,转载请声明来源钻瓜专利网。