forked from github/dataease
feat: 数据源连接池
This commit is contained in:
parent
eaf2b13882
commit
924f639661
@ -107,6 +107,7 @@ 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 -> {
|
||||||
|
commonThreadPool.addTask(() ->{
|
||||||
try {
|
try {
|
||||||
DatasourceProvider datasourceProvider = ProviderFactory.getProvider(datasource.getType());
|
DatasourceProvider datasourceProvider = ProviderFactory.getProvider(datasource.getType());
|
||||||
DatasourceRequest datasourceRequest = new DatasourceRequest();
|
DatasourceRequest datasourceRequest = new DatasourceRequest();
|
||||||
@ -116,5 +117,6 @@ public class DatasourceService {
|
|||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,31 @@
|
|||||||
|
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();
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user