Skip to content

Commit e6c73b7

Browse files
authored
Merge pull request #2723 from constantine2nd/develop
Hikari default values
2 parents cd43086 + 5cf7442 commit e6c73b7

File tree

2 files changed

+16
-22
lines changed

2 files changed

+16
-22
lines changed

obp-api/src/main/resources/props/sample.props.template

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,14 +34,16 @@ connector=star
3434

3535
#OBP uses Hikari as the default database connection pool. OBP supports the following 5 configurations at the moment.
3636
#https://github.com/brettwooldridge/HikariCP#frequently-used
37-
#hikari.connectionTimeout=
38-
#hikari.maximumPoolSize=
39-
#hikari.idleTimeout=
37+
# All values are in milliseconds unless noted otherwise. Defaults match HikariCP built-in defaults
38+
# except keepaliveTime which defaults to 30000 (HikariCP default is 0 = disabled).
39+
#hikari.connectionTimeout=30000
40+
#hikari.maximumPoolSize=10
41+
#hikari.idleTimeout=600000
4042
# keepaliveTime must be set below the database/firewall idle TCP timeout to prevent stale-connection
4143
# failures on the first call after a period of inactivity. HikariCP will ping each idle connection
4244
# at this interval (in ms), keeping it alive. Recommended: 30000 (30s) when DB/firewall timeout is ~60s.
4345
#hikari.keepaliveTime=30000
44-
#hikari.maxLifetime=
46+
#hikari.maxLifetime=1800000
4547

4648
## if connector = star, then need to set which connectors will be used. For now, obp support rest, akka.
4749
starConnector_supported_types=mapped,internal

obp-api/src/main/scala/bootstrap/liftweb/CustomDBVendor.scala

Lines changed: 10 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -27,25 +27,17 @@ class CustomDBVendor(driverName: String,
2727
object HikariDatasource {
2828
val config = new HikariConfig()
2929

30-
val connectionTimeout = APIUtil.getPropsAsLongValue("hikari.connectionTimeout")
31-
val maximumPoolSize = APIUtil.getPropsAsIntValue("hikari.maximumPoolSize")
32-
val idleTimeout = APIUtil.getPropsAsLongValue("hikari.idleTimeout")
33-
val keepaliveTime = APIUtil.getPropsAsLongValue("hikari.keepaliveTime", 30000L)
34-
val maxLifetime = APIUtil.getPropsAsLongValue("hikari.maxLifetime")
35-
36-
if(connectionTimeout.isDefined){
37-
config.setConnectionTimeout(connectionTimeout.head)
38-
}
39-
if(maximumPoolSize.isDefined){
40-
config.setMaximumPoolSize(maximumPoolSize.head)
41-
}
42-
if(idleTimeout.isDefined){
43-
config.setIdleTimeout(idleTimeout.head)
44-
}
30+
val connectionTimeout = APIUtil.getPropsAsLongValue("hikari.connectionTimeout", 30000L)
31+
val maximumPoolSize = APIUtil.getPropsAsIntValue("hikari.maximumPoolSize", 10)
32+
val idleTimeout = APIUtil.getPropsAsLongValue("hikari.idleTimeout", 600000L)
33+
val keepaliveTime = APIUtil.getPropsAsLongValue("hikari.keepaliveTime", 30000L)
34+
val maxLifetime = APIUtil.getPropsAsLongValue("hikari.maxLifetime", 1800000L)
35+
36+
config.setConnectionTimeout(connectionTimeout)
37+
config.setMaximumPoolSize(maximumPoolSize)
38+
config.setIdleTimeout(idleTimeout)
4539
config.setKeepaliveTime(keepaliveTime)
46-
if(maxLifetime.isDefined){
47-
config.setMaxLifetime(maxLifetime.head)
48-
}
40+
config.setMaxLifetime(maxLifetime)
4941
//Liftweb DB.scala will set all the new connections to false, so here we set default to false
5042
val autoCommitValue: Boolean = false
5143
config.setAutoCommit(autoCommitValue)

0 commit comments

Comments
 (0)