
com.xwc1125.common.config.datasource.DynamicDataSourceContextHolder Maven / Gradle / Ivy
The newest version!
package com.xwc1125.common.config.datasource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Description: 数据源切换处理
*
*
* @Author: xwc1125
* @Date: 2019-03-23 19:08:20
* @Copyright Copyright@2019
*/
public class DynamicDataSourceContextHolder {
private static Logger log = LoggerFactory.getLogger(DynamicDataSourceContextHolder.class);
/**
* 使用ThreadLocal维护变量,ThreadLocal为每个使用该变量的线程提供独立的变量副本,
* 所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。
*/
private static final ThreadLocal CONTEXT_HOLDER = new ThreadLocal<>();
/**
* 设置数据源的变量
*/
public static void setDateSourceType(String dsType) {
log.info("切换到{}数据源", dsType);
CONTEXT_HOLDER.set(dsType);
}
/**
* 获得数据源的变量
*/
public static String getDateSourceType() {
return CONTEXT_HOLDER.get();
}
/**
* 清空数据源变量
*/
public static void clearDateSourceType() {
CONTEXT_HOLDER.remove();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy