zhaowenxuan
2025-02-07 791b8c88d67767c9847c7c052faca3e65ec36016
ltkj-hosp/src/main/java/com/ltkj/db/HospDynamicDataSource.java
File was renamed from ltkj-hosp/src/main/java/com/ltkj/db/DynamicDataSource.java
@@ -1,14 +1,17 @@
package com.ltkj.db;
import org.springframework.context.annotation.Bean;
import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;
import org.springframework.stereotype.Component;
import javax.sql.DataSource;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
public class DynamicDataSource extends AbstractRoutingDataSource {
public class HospDynamicDataSource extends AbstractRoutingDataSource {
    private final Map<Object, Object> targetDataSources = new HashMap<>(); // 存储所有数据源
    private final Map<Object, Object> targetDataSources = new ConcurrentHashMap<>(); // 存储所有数据源
    @Override
    protected Object determineCurrentLookupKey() {
@@ -18,7 +21,7 @@
    // 添加目标数据源
    public void addTargetDataSource(String key, DataSource dataSource) {
        targetDataSources.put(key, dataSource);
        super.setTargetDataSources(targetDataSources); // 更新目标数据源
        super.setTargetDataSources(new ConcurrentHashMap<>(targetDataSources)); // 更新目标数据源
        super.afterPropertiesSet(); // 重新初始化数据源
    }