提交 924f6396 authored 作者: taojinlong's avatar taojinlong

feat: 数据源连接池

上级 eaf2b138
...@@ -107,14 +107,16 @@ public class DatasourceService { ...@@ -107,14 +107,16 @@ public class DatasourceService {
public void initAllDataSourceConnectionPool(){ public void initAllDataSourceConnectionPool(){
List<Datasource> datasources = datasourceMapper.selectByExampleWithBLOBs(new DatasourceExample()); List<Datasource> datasources = datasourceMapper.selectByExampleWithBLOBs(new DatasourceExample());
datasources.forEach(datasource -> { datasources.forEach(datasource -> {
try { commonThreadPool.addTask(() ->{
DatasourceProvider datasourceProvider = ProviderFactory.getProvider(datasource.getType()); try {
DatasourceRequest datasourceRequest = new DatasourceRequest(); DatasourceProvider datasourceProvider = ProviderFactory.getProvider(datasource.getType());
datasourceRequest.setDatasource(datasource); DatasourceRequest datasourceRequest = new DatasourceRequest();
datasourceProvider.initConnectionPool(datasourceRequest); datasourceRequest.setDatasource(datasource);
}catch (Exception e){ datasourceProvider.initConnectionPool(datasourceRequest);
e.printStackTrace(); }catch (Exception e){
} e.printStackTrace();
}
});
}); });
} }
} }
package io.dataease.listener;
import io.dataease.base.domain.DatasetTable;
import io.dataease.base.domain.DatasetTableExample;
import io.dataease.base.domain.DatasetTableField;
import io.dataease.base.mapper.DatasetTableMapper;
import io.dataease.commons.utils.CommonThreadPool;
import io.dataease.datasource.service.DatasourceService;
import io.dataease.service.dataset.DataSetTableFieldsService;
import io.dataease.service.spark.SparkCalc;
import org.springframework.boot.context.event.ApplicationReadyEvent;
import org.springframework.context.ApplicationListener;
import org.springframework.core.annotation.Order;
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.List;
@Component
@Order(value = 2)
public class AppStartInitDataSourceListener implements ApplicationListener<ApplicationReadyEvent> {
@Resource
private DatasourceService datasourceService;
@Override
public void onApplicationEvent(ApplicationReadyEvent applicationReadyEvent) {
System.out.println("================= Init datasource connection pool =================");
// 项目启动,从数据集中找到定时抽取的表,从HBase中读取放入缓存
datasourceService.initAllDataSourceConnectionPool();
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论