From ea110d51d34df0c0c760ce0d880329ac05309aeb Mon Sep 17 00:00:00 2001 From: Hubert Van De Walle Date: Sat, 27 Feb 2021 20:34:44 +0100 Subject: [PATCH] Simplify configuration --- Dockerfile | 2 ++ config/resources/application.yaml | 1 - config/src/Config.kt | 5 ++--- docker-compose.yml | 2 -- persistence/src/PersistenceModule.kt | 6 +++++- persistence/test/DataSources.kt | 2 -- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Dockerfile b/Dockerfile index 172373f..a3087c6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -24,6 +24,8 @@ COPY --from=jdkbuilder /myjdk /myjdk COPY app/build/libs/app-with-dependencies*.jar /app/simplenotes.jar WORKDIR /app +ENV SERVER_HOST 0.0.0.0 + CMD [ \ "/myjdk/bin/java", \ "--add-opens", \ diff --git a/config/resources/application.yaml b/config/resources/application.yaml index f68fe0c..11fb995 100644 --- a/config/resources/application.yaml +++ b/config/resources/application.yaml @@ -1,6 +1,5 @@ db: jdbc-url: jdbc:h2:./notes-db; - driver-class-name: org.h2.Driver username: h2 password: '' connection-timeout: 3000 diff --git a/config/src/Config.kt b/config/src/Config.kt index bce2bf3..fedb9b7 100644 --- a/config/src/Config.kt +++ b/config/src/Config.kt @@ -7,14 +7,13 @@ import java.util.concurrent.TimeUnit @ConfigurationProperties("db") data class DataSourceConfig @ConfigurationInject constructor( val jdbcUrl: String, - val driverClassName: String, val username: String, val password: String, val maximumPoolSize: Int, val connectionTimeout: Long, ) { - override fun toString() = "DataSourceConfig(jdbcUrl='$jdbcUrl', driverClassName='$driverClassName', " + - "username='$username', password='***', maximumPoolSize=$maximumPoolSize, connectionTimeout=$connectionTimeout)" + override fun toString() = "DataSourceConfig(jdbcUrl='$jdbcUrl', username='$username', password='***', " + + "maximumPoolSize=$maximumPoolSize, connectionTimeout=$connectionTimeout)" } @ConfigurationProperties("jwt") diff --git a/docker-compose.yml b/docker-compose.yml index c3513d5..9a3cdbf 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -32,9 +32,7 @@ services: - .env environment: - TZ=Europe/Brussels - - SERVER_HOST=0.0.0.0 - DB_JDBC_URL=jdbc:mariadb://db:3306/simplenotes - - DB_DRIVER_CLASS_NAME=org.mariadb.jdbc.Driver - DB_USERNAME=simplenotes # .env: # - JWT_SECRET diff --git a/persistence/src/PersistenceModule.kt b/persistence/src/PersistenceModule.kt index ec33e35..b4dd6b6 100644 --- a/persistence/src/PersistenceModule.kt +++ b/persistence/src/PersistenceModule.kt @@ -23,7 +23,11 @@ class PersistenceModule { internal fun dataSource(conf: DataSourceConfig): HikariDataSource { val hikariConfig = HikariConfig().also { it.jdbcUrl = conf.jdbcUrl - it.driverClassName = conf.driverClassName + it.driverClassName = when { + conf.jdbcUrl.startsWith("jdbc:mariadb") -> "org.mariadb.jdbc.Driver" + conf.jdbcUrl.startsWith("jdbc:h2") -> "org.h2.Driver" + else -> error("Unsupported database") + } it.username = conf.username it.password = conf.password it.maximumPoolSize = conf.maximumPoolSize diff --git a/persistence/test/DataSources.kt b/persistence/test/DataSources.kt index 7a75a2d..adacdbc 100644 --- a/persistence/test/DataSources.kt +++ b/persistence/test/DataSources.kt @@ -7,7 +7,6 @@ class KMariadbContainer : MariaDBContainer("mariadb:10.5.5") fun h2dataSourceConfig() = DataSourceConfig( jdbcUrl = "jdbc:h2:mem:regular;DB_CLOSE_DELAY=-1;", - driverClassName = "org.h2.Driver", username = "h2", password = "", maximumPoolSize = 2, @@ -16,7 +15,6 @@ fun h2dataSourceConfig() = DataSourceConfig( fun mariadbDataSourceConfig(jdbcUrl: String) = DataSourceConfig( jdbcUrl = jdbcUrl, - driverClassName = "org.mariadb.jdbc.Driver", username = "test", password = "test", maximumPoolSize = 2,