Cherry-picked from #42923 Co-authored-by: zy-kkk <zhongyongkang@selectdb.com>
This commit is contained in:
committed by
GitHub
parent
dceaf97381
commit
e7095cea0b
@ -70,6 +70,7 @@ public abstract class BaseJdbcExecutor implements JdbcExecutor {
|
||||
protected String jdbcDriverVersion;
|
||||
|
||||
public BaseJdbcExecutor(byte[] thriftParams) throws Exception {
|
||||
setJdbcDriverSystemProperties();
|
||||
TJdbcExecutorCtorParams request = new TJdbcExecutorCtorParams();
|
||||
TDeserializer deserializer = new TDeserializer(PROTOCOL_FACTORY);
|
||||
try {
|
||||
@ -93,7 +94,6 @@ public abstract class BaseJdbcExecutor implements JdbcExecutor {
|
||||
.setConnectionPoolMaxLifeTime(request.connection_pool_max_life_time)
|
||||
.setConnectionPoolKeepAlive(request.connection_pool_keep_alive);
|
||||
JdbcDataSource.getDataSource().setCleanupInterval(request.connection_pool_cache_clear_time);
|
||||
System.setProperty("com.zaxxer.hikari.useWeakReferences", "true");
|
||||
init(config, request.statement);
|
||||
this.jdbcDriverVersion = getJdbcDriverVersion();
|
||||
}
|
||||
@ -146,6 +146,10 @@ public abstract class BaseJdbcExecutor implements JdbcExecutor {
|
||||
throws SQLException {
|
||||
}
|
||||
|
||||
protected void setJdbcDriverSystemProperties() {
|
||||
System.setProperty("com.zaxxer.hikari.useWeakReferences", "true");
|
||||
}
|
||||
|
||||
public void cleanDataSource() {
|
||||
if (hikariDataSource != null) {
|
||||
hikariDataSource.close();
|
||||
|
||||
@ -50,6 +50,11 @@ public class MySQLJdbcExecutor extends BaseJdbcExecutor {
|
||||
|
||||
public MySQLJdbcExecutor(byte[] thriftParams) throws Exception {
|
||||
super(thriftParams);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void setJdbcDriverSystemProperties() {
|
||||
super.setJdbcDriverSystemProperties();
|
||||
System.setProperty("com.mysql.cj.disableAbandonedConnectionCleanup", "true");
|
||||
}
|
||||
|
||||
|
||||
@ -99,7 +99,7 @@ public abstract class JdbcClient {
|
||||
}
|
||||
|
||||
protected JdbcClient(JdbcClientConfig jdbcClientConfig) {
|
||||
System.setProperty("com.zaxxer.hikari.useWeakReferences", "true");
|
||||
setJdbcDriverSystemProperties();
|
||||
this.catalogName = jdbcClientConfig.getCatalog();
|
||||
this.jdbcUser = jdbcClientConfig.getUser();
|
||||
this.isOnlySpecifiedDatabase = Boolean.parseBoolean(jdbcClientConfig.getOnlySpecifiedDatabase());
|
||||
@ -116,6 +116,10 @@ public abstract class JdbcClient {
|
||||
this.jdbcLowerCaseMetaMatching = new JdbcIdentifierMapping(isLowerCaseMetaNames, metaNamesMapping, this);
|
||||
}
|
||||
|
||||
protected void setJdbcDriverSystemProperties() {
|
||||
System.setProperty("com.zaxxer.hikari.useWeakReferences", "true");
|
||||
}
|
||||
|
||||
// Initialize DataSource
|
||||
private void initializeDataSource(JdbcClientConfig config) {
|
||||
ClassLoader oldClassLoader = Thread.currentThread().getContextClassLoader();
|
||||
|
||||
@ -46,8 +46,6 @@ public class JdbcMySQLClient extends JdbcClient {
|
||||
|
||||
protected JdbcMySQLClient(JdbcClientConfig jdbcClientConfig) {
|
||||
super(jdbcClientConfig);
|
||||
// Disable abandoned connection cleanup
|
||||
System.setProperty("com.mysql.cj.disableAbandonedConnectionCleanup", "true");
|
||||
convertDateToNull = isConvertDatetimeToNull(jdbcClientConfig);
|
||||
Connection conn = null;
|
||||
Statement stmt = null;
|
||||
@ -74,6 +72,12 @@ public class JdbcMySQLClient extends JdbcClient {
|
||||
this.dbType = dbType;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void setJdbcDriverSystemProperties() {
|
||||
super.setJdbcDriverSystemProperties();
|
||||
System.setProperty("com.mysql.cj.disableAbandonedConnectionCleanup", "true");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getDatabaseNameList() {
|
||||
Connection conn = null;
|
||||
|
||||
Reference in New Issue
Block a user