1 回答

TA貢獻1818條經驗 獲得超3個贊
若要只創(chuàng)建一次連接池,可以使其成為類中的靜態(tài)變量。為此,您只需將方法“創(chuàng)建連接池”的代碼替換為以下塊:
private static DataSource dataSource;
static {
HikariConfig config = new HikariConfig();
config.setJdbcUrl(String.format("jdbc:mysql:///%s", DB_NAME));
config.setUsername(DB_USER);
config.setPassword(DB_PASS);
config.addDataSourceProperty("socketFactory", "com.google.cloud.sql.mysql.SocketFactory");
config.addDataSourceProperty("cloudSqlInstance", CLOUD_SQL_CONNECTION_NAME);
config.addDataSourceProperty("useSSL", "false");
config.setMaximumPoolSize(5);
config.setMinimumIdle(5);
config.setConnectionTimeout(10000); // 10 seconds
config.setIdleTimeout(600000); // 10 minutes
config.setMaxLifetime(1800000); // 30 minutes
dataSource = new HikariDataSource(config);
}
private DataSource createConnectionPool() {
return dataSource;
}
請記住,方法“創(chuàng)建連接池”現(xiàn)在的目的是不破壞可能被調用的類的其余部分的代碼。
現(xiàn)在,您可以使用變量“數(shù)據(jù)源”,而不是調用方法“創(chuàng)建連接池”。
添加回答
舉報