多数据源事务管理方法、系统、装置及介质制造方法及图纸

技术编号:37852645 阅读:30 留言:0更新日期:2023-06-14 22:44
一种多数据源事务管理方法、系统、装置及介质,该方法包括:在配置文件中添加多数据源配置;自定义配置类,指定扫描的映射所在目录,加载多个数据源,并配置每个所述数据源对应的事务管理器,并注入到容器;添加自定事务注解用于配置需要代理管理的事务管理器;配置AOP事务拦截切面,进行手动事务管理。进行手动事务管理。进行手动事务管理。

【技术实现步骤摘要】
多数据源事务管理方法、系统、装置及介质


[0001]本专利技术涉及事务管理领域,具体涉及一种多数据源事务管理方法、系统、装置及介质。

技术介绍

[0002]现市面常规做法是使用第三方支持tcc或XA等事务模式,需要安装第三方支持,并大多采用的是数据库层面来进行验证是否回滚事务。这种做法在网络不佳的情况达不到数据一致性效果,且在网络传输过程会有一定的耗时,效率也不如本地处理高。
[0003]因此,需要提供一种可以本地监控事务,效率较高,不受网络或第三方的其他因素影响的多数据源事务管理方法、系统及介质。

技术实现思路

[0004]本专利技术的目的在于提供一种多数据源事务管理方法、系统及装置。以期实现本地监控事务,效率较高,不受网络或第三方的其他因素影响。
[0005]为了实现前述目的,本专利技术采用以下技术方案:
[0006]一种多数据源事务管理方法,包括:
[0007]在配置文件中添加多数据源配置;
[0008]自定义配置类,指定扫描的映射所在目录,加载多个数据源,并配置每个所述数据源对应的本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种多数据源事务管理方法,其特征在于,包括:在配置文件中添加多数据源配置;自定义配置类,指定扫描的映射所在目录,加载多个数据源,并配置每个所述数据源对应的事务管理器,并注入到容器;添加自定事务注解用于配置需要代理管理的事务管理器;配置AOP事务拦截切面,进行手动事务管理。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在使用到了多个数据源的业务前加注解。3.根据权利要求1所述的方法,其特征在于,所述自定义配置类,指定扫描的映射所在目录,加载多个数据源,并配置每个所述数据源对应的事务管理器,并注入到容器包括:配置datasource,将数据库配置加载到内存,并创建对应key的数据源;以datasource为基础,创建其对应的sessionFactory,用于提供连接对象;以datasource为基础,创建对应datasource的事务管理器;基于sessionFactory创建sqlsessionTemplate。4.根据权利要求1所述的方法,其特征在于,所述配置AOP事务拦截切面,进行手动事务管理包括:在切面中拦截进入方法前@Before,通过注解获取到需要手动管理的事务管理器TransactionManager,修改事务隔离级别为ISOLATION_DEFAULT,修改事务传播行为PROPAGATION_REQUIRED,并按顺序放入本地线程栈;在切面中拦截方法执行结束@AfterReturning,将上术本地线程栈内的事务管理器按后进先出的方式依次取出,手动提交,并从本地线程对象移除;在切面中拦截异常@AfterThrowing,响应于产生异常,则进行进入此切面,在此切面进行事务的回滚,并从本地线程对象移除。5.一种多数据源事务管理系统,其特征在于,包括:添加模块,用于在配置文件中添加多数据源配置;第一处理模块,用于自定义配置类,指定扫描的映射所在目录,加载多个数据源,并配置每个所述数据源对应的事务...

【专利技术属性】
技术研发人员:左强
申请(专利权)人:四川启睿克科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1