Skip to content

Commit 2ad6b25

Browse files
sbmpostStefan Postseratch
authored
Add more jasync parameters to config (#281)
Co-authored-by: Stefan Post <[email protected]> Co-authored-by: Kazuhiro Sera <[email protected]>
1 parent 6196375 commit 2ad6b25

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

core/src/main/scala/scalikejdbc/async/AsyncConnectionPoolSettings.scala

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,11 @@ case class AsyncConnectionPoolSettings(
2929
maxPoolSize: Int = 8,
3030
maxQueueSize: Int = 8,
3131
maxIdleMillis: Long = 1000L,
32+
validationInterval: Long = 5000L,
33+
createTimeout: Long = 5000L,
34+
testTimeout: Long = 5000L,
35+
queryTimeout: Option[Long] = None,
36+
maxObjectTtl: Option[Long] = None,
3237
connectionSettings: AsyncConnectionSettings = AsyncConnectionSettings()
3338
)
3439

@@ -38,6 +43,5 @@ case class AsyncConnectionSettings(
3843
maximumMessageSize: Option[Int] = None,
3944
allocator: Option[ByteBufAllocator] = None,
4045
connectTimeout: Option[Duration] = None,
41-
testTimeout: Option[Duration] = None,
4246
queryTimeout: Option[Duration] = None
4347
)

core/src/main/scala/scalikejdbc/async/internal/AsyncConnectionPoolCommonImpl.scala

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,21 @@ abstract class AsyncConnectionPoolCommonImpl[T <: ConcreteConnection](
3232
builder.setMaxActiveConnections(settings.maxPoolSize)
3333
builder.setMaxIdleTime(settings.maxIdleMillis)
3434
builder.setMaxPendingQueries(settings.maxQueueSize)
35+
builder.setConnectionValidationInterval(settings.validationInterval)
36+
builder.setConnectionCreateTimeout(settings.createTimeout)
37+
builder.setConnectionTestTimeout(settings.testTimeout)
38+
settings.queryTimeout match {
39+
case Some(timeout) =>
40+
builder.setQueryTimeout(timeout)
41+
case None =>
42+
builder.setQueryTimeout(null)
43+
}
44+
settings.maxObjectTtl match {
45+
case Some(ttl) =>
46+
builder.setMaxConnectionTtl(ttl)
47+
case None =>
48+
builder.setMaxConnectionTtl(null)
49+
}
3550
builder.build()
3651
}
3752
)

0 commit comments

Comments
 (0)