Skip to content

Commit b9c840d

Browse files
committed
Update R2DBC configuration to use MariadbConnectionFactoryProvider and refine runtime classpath exclusions
1 parent 1663568 commit b9c840d

2 files changed

Lines changed: 9 additions & 3 deletions

File tree

build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ dependencies {
1919
implementation(libs.bundles.databaseDriver)
2020
}
2121

22-
configurations.all {
22+
configurations.runtimeClasspath {
2323
exclude("io.projectreactor", "reactor-core")
2424
exclude("org.reactivestreams")
2525
}

src/main/kotlin/dev/slne/surf/database/DatabaseApi.kt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import org.jetbrains.exposed.v1.core.vendors.MariaDBDialect
1212
import org.jetbrains.exposed.v1.r2dbc.R2dbcDatabase
1313
import org.jetbrains.exposed.v1.r2dbc.R2dbcDatabaseConfig
1414
import org.jetbrains.exposed.v1.r2dbc.transactions.TransactionManager
15+
import org.mariadb.r2dbc.MariadbConnectionFactoryProvider
1516
import java.nio.file.Path
1617
import java.time.Duration.ofMillis
1718

@@ -44,16 +45,19 @@ class DatabaseApi internal constructor(val database: R2dbcDatabase) {
4445

4546
val connectionFactoryOptions = ConnectionFactoryOptions.builder().apply {
4647
option(DRIVER, "pool")
47-
option(PROTOCOL, "mariadb")
48+
option(PROTOCOL, MariadbConnectionFactoryProvider.MARIADB_DRIVER)
4849
option(HOST, config.credentials.host)
4950
option(PORT, config.credentials.port)
5051
option(USER, config.credentials.username)
5152
option(PASSWORD, config.credentials.password)
5253
option(DATABASE, config.credentials.database)
5354
}.build()
5455

56+
val connectionFactory = MariadbConnectionFactoryProvider()
57+
.create(connectionFactoryOptions)
58+
5559
val poolConfig = ConnectionPoolConfiguration.builder()
56-
.connectionFactory(ConnectionFactories.get(connectionFactoryOptions))
60+
.connectionFactory(connectionFactory)
5761
.acquireRetry(1)
5862
.initialSize(config.pool.sizing.initialSize)
5963
.minIdle(config.pool.sizing.minIdle)
@@ -66,6 +70,8 @@ class DatabaseApi internal constructor(val database: R2dbcDatabase) {
6670
.name(poolName)
6771
.build()
6872

73+
74+
6975
val pool = ConnectionPool(poolConfig)
7076
return create(pool, configCustomizer)
7177
}

0 commit comments

Comments
 (0)