瀏覽代碼

修复数据源解析错误的问题

zhouhao 7 年之前
父節點
當前提交
525dcdf653

+ 4 - 0
hsweb-system/hsweb-system-database-manager/hsweb-system-database-manager-simple/src/main/java/org/hswebframework/web/datasource/manager/simple/SimpleDatabaseManagerService.java

@@ -133,16 +133,20 @@ public class SimpleDatabaseManagerService implements DatabaseManagerService, Met
 
     @Override
     public Map<ObjectMetadata.ObjectType, List<? extends ObjectMetadata>> getMetas() {
+        String dsId = DataSourceHolder.switcher().currentDataSourceId();
         return parserRepo
                 .computeIfAbsent(DataSourceHolder.currentDatabaseType(), t -> new HashMap<>())
                 .entrySet()
                 .parallelStream()
                 .collect(Collectors.toMap(Map.Entry::getKey, entry -> {
                     try {
+                        DataSourceHolder.switcher().use(dsId);
                         return entry.getValue().parseAll();
                     } catch (SQLException e) {
                         log.error("parse meta {} error", entry.getKey(), e);
                         return new ArrayList<>();
+                    } finally {
+                        DataSourceHolder.switcher().reset();
                     }
                 }));
     }