public DruidDataSource newDataSource()

in adb2client/src/main/java/com/alibaba/cloud/analyticdb/adbclient/ClientDataSource.java [46:70]


    public DruidDataSource newDataSource(DatabaseConfig databaseConfig) {
        DruidDataSource dataSource = new DruidDataSource();
        dataSource.setDriverClassName(com.mysql.jdbc.Driver.class.getName());
        dataSource.setUsername(databaseConfig.getUser());
        dataSource.setPassword(databaseConfig.getPassword());
        dataSource.setUrl("jdbc:mysql://" + databaseConfig.getHost() + ":" + databaseConfig.getPort() + "/" + databaseConfig.getDatabase());
        if (!databaseConfig.isShareDataSource()) {
            dataSource.setInitialSize(1);
            dataSource.setMinIdle(1);
        } else {
            dataSource.setInitialSize(4);
            dataSource.setMinIdle(4);
        }
        dataSource.setMaxActive(512);
        dataSource.setPoolPreparedStatements(false);
        dataSource.setValidationQuery("show status like '%Service_Status%'");
        dataSource.setValidationQueryTimeout(1000);
        dataSource.setTimeBetweenEvictionRunsMillis(60000);
        dataSource.setTestWhileIdle(true);
        dataSource.setTestOnBorrow(false);
        dataSource.setTestOnReturn(false);
        dataSource.setKeepAlive(true);
        dataSource.setPhyMaxUseCount(10000);
        return dataSource;
    }