Skip to content

Commit f993746

Browse files
authored
feat: Add support for Hikari DataSource properties (#224)
1 parent f32d5b2 commit f993746

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

doobie-hikari/src/main/scala/com/avast/sst/doobie/DoobieHikariConfig.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,6 @@ final case class DoobieHikariConfig(
2525
poolName: Option[String] = None,
2626
registerMBeans: Boolean = false,
2727
validationTimeout: Option[FiniteDuration] = None,
28-
transactionIsolation: Option[TransactionIsolation] = None
28+
transactionIsolation: Option[TransactionIsolation] = None,
29+
dataSourceProperties: Map[String, String] = Map.empty
2930
)

doobie-hikari/src/main/scala/com/avast/sst/doobie/DoobieHikariModule.scala

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.avast.sst.doobie
22

3+
import java.util.Properties
34
import java.util.concurrent.{ScheduledExecutorService, ThreadFactory}
45

56
import cats.Show
@@ -11,6 +12,7 @@ import doobie.enum.TransactionIsolation
1112
import doobie.hikari.HikariTransactor
1213

1314
import scala.concurrent.ExecutionContext
15+
import scala.jdk.CollectionConverters._
1416

1517
object DoobieHikariModule {
1618

@@ -60,6 +62,9 @@ object DoobieHikariModule {
6062
c.setAllowPoolSuspension(config.allowPoolSuspension)
6163
c.setIsolateInternalQueries(config.isolateInternalQueries)
6264
c.setRegisterMbeans(config.registerMBeans)
65+
val dataSourceProperties = new Properties()
66+
dataSourceProperties.putAll(config.dataSourceProperties.asJava)
67+
c.setDataSourceProperties(dataSourceProperties)
6368

6469
config.leakDetectionThreshold.map(_.toMillis).foreach(c.setLeakDetectionThreshold)
6570
config.initializationFailTimeout.map(_.toMillis).foreach(c.setInitializationFailTimeout)

0 commit comments

Comments
 (0)