Browse Source

[Improvement][Dao] Database add connection check (#5408) (#5409)

pull/3/MERGE
ruanwenjun 4 years ago committed by GitHub
parent
commit
71f39fa875
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 10
      dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/datasource/ConnectionFactory.java
  2. 6
      dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/datasource/SpringConnectionFactory.java

10
dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/datasource/ConnectionFactory.java

@ -26,12 +26,14 @@ import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.transaction.TransactionFactory; import org.apache.ibatis.transaction.TransactionFactory;
import org.apache.ibatis.transaction.jdbc.JdbcTransactionFactory; import org.apache.ibatis.transaction.jdbc.JdbcTransactionFactory;
import org.mybatis.spring.SqlSessionTemplate;
import org.slf4j.Logger; import java.sql.SQLException;
import org.slf4j.LoggerFactory;
import javax.sql.DataSource; import javax.sql.DataSource;
import org.mybatis.spring.SqlSessionTemplate;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/** /**
* not spring manager connection, only use for init db, and alert module for non-spring application * not spring manager connection, only use for init db, and alert module for non-spring application
@ -81,7 +83,7 @@ public class ConnectionFactory extends SpringConnectionFactory {
* *
* @return druid dataSource * @return druid dataSource
*/ */
private DataSource buildDataSource() { private DataSource buildDataSource() throws SQLException {
DruidDataSource druidDataSource = dataSource(); DruidDataSource druidDataSource = dataSource();
return druidDataSource; return druidDataSource;

6
dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/datasource/SpringConnectionFactory.java

@ -28,6 +28,7 @@ import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.type.JdbcType; import org.apache.ibatis.type.JdbcType;
import java.sql.SQLException;
import java.util.Properties; import java.util.Properties;
import org.mybatis.spring.SqlSessionTemplate; import org.mybatis.spring.SqlSessionTemplate;
@ -77,7 +78,7 @@ public class SpringConnectionFactory {
* @return druid dataSource * @return druid dataSource
*/ */
@Bean(destroyMethod = "") @Bean(destroyMethod = "")
public DruidDataSource dataSource() { public DruidDataSource dataSource() throws SQLException {
DruidDataSource druidDataSource = new DruidDataSource(); DruidDataSource druidDataSource = new DruidDataSource();
@ -104,6 +105,7 @@ public class SpringConnectionFactory {
druidDataSource.setValidationQueryTimeout(PropertyUtils.getInt(Constants.SPRING_DATASOURCE_VALIDATION_QUERY_TIMEOUT, 3)); druidDataSource.setValidationQueryTimeout(PropertyUtils.getInt(Constants.SPRING_DATASOURCE_VALIDATION_QUERY_TIMEOUT, 3));
//auto commit //auto commit
druidDataSource.setDefaultAutoCommit(PropertyUtils.getBoolean(Constants.SPRING_DATASOURCE_DEFAULT_AUTO_COMMIT, true)); druidDataSource.setDefaultAutoCommit(PropertyUtils.getBoolean(Constants.SPRING_DATASOURCE_DEFAULT_AUTO_COMMIT, true));
druidDataSource.init();
return druidDataSource; return druidDataSource;
} }
@ -113,7 +115,7 @@ public class SpringConnectionFactory {
* @return DataSourceTransactionManager * @return DataSourceTransactionManager
*/ */
@Bean @Bean
public DataSourceTransactionManager transactionManager() { public DataSourceTransactionManager transactionManager() throws SQLException {
return new DataSourceTransactionManager(dataSource()); return new DataSourceTransactionManager(dataSource());
} }

Loading…
Cancel
Save