wiki不能保存问题修复,数据源创建优化
This commit is contained in:
@@ -58,7 +58,7 @@ public class DbDatasourceController {
|
||||
dbDatasource.setSourcePassword(dbDatasourceSel.getSourcePassword());
|
||||
}
|
||||
}
|
||||
DatabaseFactoryBean databaseFactoryBean = DatasourceUtil.createDatabaseFactoryBean(dbDatasource);
|
||||
DatabaseFactoryBean databaseFactoryBean = DatasourceUtil.createDatabaseFactoryBean(dbDatasource, true);
|
||||
if (databaseFactoryBean == null) {
|
||||
return DocDbResponseJson.warn("获取数据源失败,请检查配置是否正确");
|
||||
}
|
||||
|
||||
@@ -11,12 +11,10 @@ import org.mybatis.spring.SqlSessionTemplate;
|
||||
import org.springframework.core.io.Resource;
|
||||
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
public class DatasourceUtil {
|
||||
private static SqlLogInterceptor sqlLogInterceptor = new SqlLogInterceptor();
|
||||
|
||||
public static DatabaseFactoryBean createDatabaseFactoryBean(DbDatasource dbDatasource) throws Exception {
|
||||
public static DatabaseFactoryBean createDatabaseFactoryBean(DbDatasource dbDatasource, boolean breakAfterAcquireFailure) throws Exception {
|
||||
Resource[] resources = null;
|
||||
// 描述连接信息的对象
|
||||
DatabaseFactoryBean databaseFactoryBean = new DatabaseFactoryBean();
|
||||
@@ -62,7 +60,7 @@ public class DatasourceUtil {
|
||||
return null;
|
||||
}
|
||||
// 数据源配置
|
||||
DruidDataSource dataSource = DruidDataSourceUtil.createDataSource(dbDatasource.getDriverClassName(), dbDatasource.getSourceUrl(), dbDatasource.getSourceName(), dbDatasource.getSourcePassword());
|
||||
DruidDataSource dataSource = DruidDataSourceUtil.createDataSource(dbDatasource.getDriverClassName(), dbDatasource.getSourceUrl(), dbDatasource.getSourceName(), dbDatasource.getSourcePassword(), breakAfterAcquireFailure);
|
||||
// 创建sqlSessionTemplate
|
||||
SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
|
||||
sqlSessionFactoryBean.setDataSource(dataSource);
|
||||
|
||||
@@ -104,13 +104,15 @@ public class DatabaseRegistrationBean {
|
||||
*/
|
||||
private synchronized DatabaseFactoryBean createFactoryById(Long sourceId) {
|
||||
DatabaseFactoryBean factoryBean = databaseFactoryBeanMap.get(sourceId);
|
||||
if (factoryBean != null) return factoryBean;
|
||||
if (factoryBean != null) {
|
||||
return factoryBean;
|
||||
}
|
||||
DbDatasource dbDatasource = dbDatasourceService.getById(sourceId);
|
||||
if (dbDatasource == null) {
|
||||
throw new ConfirmException("未找到指定数据源配置信息");
|
||||
}
|
||||
try {
|
||||
DatabaseFactoryBean databaseFactoryBean = DatasourceUtil.createDatabaseFactoryBean(dbDatasource);
|
||||
DatabaseFactoryBean databaseFactoryBean = DatasourceUtil.createDatabaseFactoryBean(dbDatasource, false);
|
||||
if (databaseFactoryBean == null) {
|
||||
throw new ConfirmException("获取数据源失败");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user