This is an automated email from the ASF dual-hosted git repository. nic pushed a commit to branch 3.0.x in repository https://gitbox.apache.org/repos/asf/kylin.git
commit cb6e44cf5355f99364938a437b84b8e56345c2ea Author: Guangxu Cheng <[email protected]> AuthorDate: Sat Nov 2 00:13:18 2019 +0800 KYLIN-4235 Failed to load table metadata from JDBC data source --- .../org/apache/kylin/source/jdbc/JdbcExplorer.java | 21 ++++++++++++--------- .../org/apache/kylin/source/jdbc/JdbcSource.java | 6 ++++-- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/source-jdbc/src/main/java/org/apache/kylin/source/jdbc/JdbcExplorer.java b/source-jdbc/src/main/java/org/apache/kylin/source/jdbc/JdbcExplorer.java index d728dcf..96614dd 100644 --- a/source-jdbc/src/main/java/org/apache/kylin/source/jdbc/JdbcExplorer.java +++ b/source-jdbc/src/main/java/org/apache/kylin/source/jdbc/JdbcExplorer.java @@ -50,22 +50,25 @@ import org.slf4j.LoggerFactory; public class JdbcExplorer implements ISourceMetadataExplorer, ISampleDataDeployer { private static final Logger logger = LoggerFactory.getLogger(JdbcExplorer.class); - private final KylinConfig config; private final SourceDialect dialect; private final DBConnConf dbconf; private final IJdbcMetadata jdbcMetadataDialect; + @Deprecated public JdbcExplorer() { - config = KylinConfig.getInstanceFromEnv(); - String connectionUrl = config.getJdbcSourceConnectionUrl(); - String driverClass = config.getJdbcSourceDriver(); - String jdbcUser = config.getJdbcSourceUser(); - String jdbcPass = config.getJdbcSourcePass(); - this.dbconf = new DBConnConf(driverClass, connectionUrl, jdbcUser, jdbcPass); - this.dialect = SourceDialect.getDialect(config.getJdbcSourceDialect()); - this.jdbcMetadataDialect = JdbcMetadataFactory.getJdbcMetadata(dialect, dbconf); + this(KylinConfig.getInstanceFromEnv()); } + public JdbcExplorer(KylinConfig config) { + String connectionUrl = config.getJdbcSourceConnectionUrl(); + String driverClass = config.getJdbcSourceDriver(); + String jdbcUser = config.getJdbcSourceUser(); + String jdbcPass = config.getJdbcSourcePass(); + this.dbconf = new DBConnConf(driverClass, connectionUrl, jdbcUser, jdbcPass); + this.dialect = SourceDialect.getDialect(config.getJdbcSourceDialect()); + this.jdbcMetadataDialect = JdbcMetadataFactory.getJdbcMetadata(dialect, dbconf); + } + @Override public List<String> listDatabases() throws SQLException { return jdbcMetadataDialect.listDatabases(); diff --git a/source-jdbc/src/main/java/org/apache/kylin/source/jdbc/JdbcSource.java b/source-jdbc/src/main/java/org/apache/kylin/source/jdbc/JdbcSource.java index 1bda6c2..809a465 100644 --- a/source-jdbc/src/main/java/org/apache/kylin/source/jdbc/JdbcSource.java +++ b/source-jdbc/src/main/java/org/apache/kylin/source/jdbc/JdbcSource.java @@ -31,13 +31,15 @@ import org.apache.kylin.source.ISourceMetadataExplorer; import org.apache.kylin.source.SourcePartition; public class JdbcSource implements ISource { + private final KylinConfig config; //used by reflection public JdbcSource(KylinConfig config) { + this.config = config; } @Override public ISourceMetadataExplorer getSourceMetadataExplorer() { - return new JdbcExplorer(); + return new JdbcExplorer(this.config); } @SuppressWarnings("unchecked") @@ -66,7 +68,7 @@ public class JdbcSource implements ISource { @Override public ISampleDataDeployer getSampleDataDeployer() { - return new JdbcExplorer(); + return new JdbcExplorer(this.config); } @Override
