mirror of
https://github.com/dataease/dataease.git
synced 2026-05-16 05:50:45 +08:00
fix: 修复Doris 数据源间隔一天左右就提示连接无效 #14561
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package io.dataease.datasource.provider;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.jcraft.jsch.Session;
|
||||
import io.dataease.dataset.utils.FieldUtils;
|
||||
import io.dataease.datasource.dao.auto.entity.CoreDatasource;
|
||||
import io.dataease.datasource.dao.auto.entity.CoreDriver;
|
||||
@@ -1380,6 +1381,13 @@ public class CalciteProvider extends Provider {
|
||||
if (rootSchema.getSubSchema(datasourceSchemaDTO.getSchemaAlias()) == null) {
|
||||
buildSchema(datasourceRequest, calciteConnection);
|
||||
}
|
||||
DatasourceConfiguration configuration = JsonUtil.parseObject(datasourceDTO.getConfiguration(), DatasourceConfiguration.class);
|
||||
if(configuration.isUseSSH()){
|
||||
Session session =Provider.getSessions().get(datasourceDTO.getId());
|
||||
session.disconnect();
|
||||
Provider.getSessions().remove(datasourceDTO.getId());
|
||||
startSshSession(configuration, null, datasourceDTO.getId());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
DEException.throwException(e.getMessage());
|
||||
}
|
||||
|
||||
@@ -283,7 +283,7 @@ public abstract class Provider {
|
||||
Integer lport = Provider.getLPorts().get(datasourceId);
|
||||
if (lport != null) {
|
||||
configuration.setLPort(lport);
|
||||
if (Provider.getSessions().get(datasourceId) == null || !Provider.getSessions().get(datasourceId).isConnected()) {
|
||||
if (Provider.getSessions().get(datasourceId) == null || !Provider.getSessions().get(datasourceId).isConnected()) {
|
||||
Session session = initSession(configuration);
|
||||
Provider.getSessions().put(datasourceId, session);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user