Browse Source

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

pull/3/MERGE
ruanwenjun 3 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.transaction.TransactionFactory;
import org.apache.ibatis.transaction.jdbc.JdbcTransactionFactory;
import org.mybatis.spring.SqlSessionTemplate;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.sql.SQLException;
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
@ -81,7 +83,7 @@ public class ConnectionFactory extends SpringConnectionFactory {
*
* @return druid dataSource
*/
private DataSource buildDataSource() {
private DataSource buildDataSource() throws SQLException {
DruidDataSource druidDataSource = dataSource();
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.type.JdbcType;
import java.sql.SQLException;
import java.util.Properties;
import org.mybatis.spring.SqlSessionTemplate;
@ -77,7 +78,7 @@ public class SpringConnectionFactory {
* @return druid dataSource
*/
@Bean(destroyMethod = "")
public DruidDataSource dataSource() {
public DruidDataSource dataSource() throws SQLException {
DruidDataSource druidDataSource = new DruidDataSource();
@ -104,6 +105,7 @@ public class SpringConnectionFactory {
druidDataSource.setValidationQueryTimeout(PropertyUtils.getInt(Constants.SPRING_DATASOURCE_VALIDATION_QUERY_TIMEOUT, 3));
//auto commit
druidDataSource.setDefaultAutoCommit(PropertyUtils.getBoolean(Constants.SPRING_DATASOURCE_DEFAULT_AUTO_COMMIT, true));
druidDataSource.init();
return druidDataSource;
}
@ -113,7 +115,7 @@ public class SpringConnectionFactory {
* @return DataSourceTransactionManager
*/
@Bean
public DataSourceTransactionManager transactionManager() {
public DataSourceTransactionManager transactionManager() throws SQLException {
return new DataSourceTransactionManager(dataSource());
}

Loading…
Cancel
Save