summaryrefslogtreecommitdiff
path: root/src/main/kotlin/io/dico/parcels2/storage/Hikari.kt
diff options
context:
space:
mode:
authorDico Karssiens <dico.karssiens@gmail.com>2018-07-26 22:50:29 +0100
committerDico Karssiens <dico.karssiens@gmail.com>2018-07-26 22:50:29 +0100
commitea7c27a7fd7c127920eb5e2aa8f2b2b7c921c607 (patch)
treebbb26fc4cb349632debdb9e5387a7597a3050c6c /src/main/kotlin/io/dico/parcels2/storage/Hikari.kt
parentbf1da033703f1343cfc54c61f8ace1fea7dbac25 (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.kt30
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 {
+ }*/
}