diff options
author | Dico Karssiens <dico.karssiens@gmail.com> | 2018-07-26 22:50:29 +0100 |
---|---|---|
committer | Dico Karssiens <dico.karssiens@gmail.com> | 2018-07-26 22:50:29 +0100 |
commit | ea7c27a7fd7c127920eb5e2aa8f2b2b7c921c607 (patch) | |
tree | bbb26fc4cb349632debdb9e5387a7597a3050c6c /src/main/kotlin/io/dico/parcels2/storage/Hikari.kt | |
parent | bf1da033703f1343cfc54c61f8ace1fea7dbac25 (diff) |
Minor tweaks, switch to PostgreSQL for debuggigng purposes
Diffstat (limited to 'src/main/kotlin/io/dico/parcels2/storage/Hikari.kt')
-rw-r--r-- | src/main/kotlin/io/dico/parcels2/storage/Hikari.kt | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/src/main/kotlin/io/dico/parcels2/storage/Hikari.kt b/src/main/kotlin/io/dico/parcels2/storage/Hikari.kt index ae16c83..e21a24e 100644 --- a/src/main/kotlin/io/dico/parcels2/storage/Hikari.kt +++ b/src/main/kotlin/io/dico/parcels2/storage/Hikari.kt @@ -1,25 +1,34 @@ package io.dico.parcels2.storage import com.zaxxer.hikari.HikariConfig -import com.zaxxer.hikari.HikariDataSource import io.dico.parcels2.DataConnectionOptions -import javax.sql.DataSource -fun getHikariDataSource(dialectName: String, - driver: String, - dco: DataConnectionOptions): DataSource = with(HikariConfig()) { +fun getHikariConfig(dialectName: String, + dco: DataConnectionOptions): HikariConfig = HikariConfig().apply { val (address, port) = dco.splitAddressAndPort() ?: throw IllegalArgumentException("Invalid address: ${dco.address}") - poolName = "redstonerplots" + when (dialectName) { + "postgresql" -> run { + dataSourceClassName = "org.postgresql.ds.PGSimpleDataSource" + dataSourceProperties["serverName"] = address + dataSourceProperties["portNumber"] = port.toString() + dataSourceProperties["databaseName"] = dco.database + } + else -> throw IllegalArgumentException("Unsupported dialect: $dialectName") + } + + poolName = "parcels" maximumPoolSize = dco.poolSize - dataSourceClassName = driver username = dco.username password = dco.password connectionTimeout = 15000 leakDetectionThreshold = 10000 connectionTestQuery = "SELECT 1" + + /* + addDataSourceProperty("serverName", address) addDataSourceProperty("port", port.toString()) addDataSourceProperty("databaseName", dco.database) @@ -32,7 +41,7 @@ fun getHikariDataSource(dialectName: String, dataSourceProperties.remove("port") dataSourceProperties.remove("databaseName") addDataSourceProperty("url", "jdbc:h2:${if (address.isBlank()) "" else "tcp://$address/"}~/${dco.database}") - } else { + } else if (dialectName.toLowerCase() == "mysql") { // doesn't exist on the MariaDB driver addDataSourceProperty("cachePrepStmts", "true") addDataSourceProperty("alwaysSendSetIsolation", "false") @@ -49,8 +58,7 @@ fun getHikariDataSource(dialectName: String, // make sure unicode characters can be used. addDataSourceProperty("characterEncoding", "utf8") addDataSourceProperty("useUnicode", "true") - } - - HikariDataSource(this) + } else { + }*/ } |