Public CMS二次开发过程,如何使用多个数据源

简介: Public CMS二次开发过程,如何使用多个数据源

Public CMS集成多个数据源很简单,只需要按照以下几步操作:

   1. 修改ApplicationConfig.dataSource方法增加other

1

2

3

4

5

6

7

8

9

10

11

    @Bean

    public DataSource dataSource() throws PropertyVetoException {

        CmsDataSource bean = new CmsDataSource(getDirPath(CommonConstants.BLANK) + CmsDataSource.DATABASE_CONFIG_FILENAME);

        try {

            bean.put("other", CmsDataSource

                    .initDataSource(CmsDataSource.loadDatabaseConfig(getDirPath(CommonConstants.BLANK) + "other.properties")));

        catch (IOException e) {

        }

        CmsDataSource.initDefautlDataSource();

        return bean;

    }

2. 在操作数据库,并开启事务前切换数据源

1

CmsDataSource.setDataSourceName("other");

3. 在访问数据库完毕应该还原数据源

1

CmsDataSource.resetDataSourceName();

具体原理就是继承并实现了框架的数据源路由类,使用线程变量来存储当前数据源名称,还原数据源也是把线程变量还原,防止后续其他任务读取到被污染的线程变量

相关文章
|
10月前
|
安全 Java PHP
PHP/JAVA交易所系统开发(成熟案例)丨需求步骤丨指南详细丨方案逻辑丨逻辑教程丨源码功能
An exchange refers to an institution or platform that provides a centralized market for buying and selling transactions, where participants can trade various assets, such as securities, commodities, cryptocurrencies, etc. Exchanges provide market infrastructure and rules to facilitate compliant, saf
|
2月前
|
API Apache
性能工具之JMeter5.0核心类JMeterEngine源码分析
【5月更文挑战第17天】性能工具之JMeter5.0核心类JMeterEngine源码分析
42 4
性能工具之JMeter5.0核心类JMeterEngine源码分析
|
2月前
|
Java 测试技术 API
性能工具之JMeter5.0核心类StandardJMeterEngine源码分析
【5月更文挑战第16天】性能工具之JMeter5.0核心类StandardJMeterEngine源码分析
34 4
性能工具之JMeter5.0核心类StandardJMeterEngine源码分析
|
2月前
|
XML 存储 算法
性能工具之JMeter5.0核心类HashTree源码分析
【5月更文挑战第15天】性能工具之JMeter5.0核心类HashTree源码分析
26 2
性能工具之JMeter5.0核心类HashTree源码分析
|
2月前
|
JavaScript Java 测试技术
基于Java的游戏资源管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的游戏资源管理系统的设计与实现(源码+lw+部署文档+讲解等)
31 0
|
2月前
|
JavaScript Java 测试技术
基于Java的医院交互系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的医院交互系统的设计与实现(源码+lw+部署文档+讲解等)
27 0
|
11月前
|
移动开发 Java 编译器
Java9的功能特性概览
以下是一些Java 9的功能特性
57 0
|
12月前
|
测试技术 API PHP
php对接小鹅通API开发高级实战案例解析:小鹅通实战开发之合并用户user_id批量同步
php对接小鹅通API开发高级实战案例解析:小鹅通实战开发之合并用户user_id批量同步
216 0
|
12月前
|
XML 存储 Java
Spring 核心方法 refresh 刷新流程简要概述及相关源码扩展实现(一)(上)
Spring 核心方法 refresh 刷新流程简要概述及相关源码扩展实现(一)
73 0
|
12月前
|
存储 XML 前端开发
Spring 核心方法 refresh 刷新流程简要概述及相关源码扩展实现(二)(上)
Spring 核心方法 refresh 刷新流程简要概述及相关源码扩展实现(二)
47 0