java多租户动态切换数据库,场景 多租户下使用动态数据源

场景 多租户下使用动态数据源

多租户环境下,需要动态创建数据源,同时也需要根据租户标识动态切换数据源。每个租户都有一个dataSource。

1.创建数据源

首先需要自己写一个创建datasource bean的工具类。以下代码仅供参考。

public class DataSourceBeanCreator {

/**

* 根据模板数据源生成知道bean name的数据源

* @param beanName 需要生成的bean名称

* @param templateBeanName 模板bean的name

* @param dsProperties 数据库属性

*/

public static void registerBeanFromTemplate(String beanName,String templateBeanName,Map dsProperties){

SpringBeanContainer container = (SpringBeanContainer) BeanContainerFactory.getBeanContainer(DataSourceBeanCreator.class.getClassLoader());

ConfigurableApplicationContext configurableApplicationContext= (ConfigurableApplicationContext) container.getBeanContainerPrototype();

DefaultListableBeanFactory defaultListableBeanFactory = (DefaultListableBeanFactory) configurableApplicationContext.getBe

你可能感兴趣的:(java多租户动态切换数据库)