DEV Community

Poojitha
Poojitha

Posted on

application.properties

1.spring.datasource.hikari.connectionTimeout
Meaning:
How long an application waits to get a DB connection from the pool before throwing an exception.
Ex:
spring.datasource.hikari.connectionTimeout=30000
= Wait for 30 seconds
Real-time Scenario
Suppose:
All DB connections are busy
New request comes
Application asks pool for connection
If no connection becomes available within 30 seconds:
Plain text
SQLTransientConnectionException:
Connection is not available, request timed out


2.spring.datasource.hikari.idleTimeout
Meaning:
How long an unused/idle connection stays in pool before being removed.
Unit
Milliseconds
Example
Properties
spring.datasource.hikari.idleTimeout=600000
= 10 minutes
Real-time Understanding
Suppose:
Your app created 20 DB connections
Only 5 are being used
Remaining 15 are idle
After idleTimeout duration:
Extra unused connections may be closed
Helps save DB resources
Important Point
This works mainly when:
Plain text
minimumIdle < maximumPoolSize
Otherwise pool keeps all connections alive.


3.spring.datasource.hikari.maximumPoolSize
Meaning
Maximum number of DB connections allowed in pool.
Example
Properties
spring.datasource.hikari.maximumPoolSize=20
Maximum 20 DB connections can exist.
Real-time Scenario
Suppose:
20 requests are using DB connections
21st request comes
Then:
It waits for available connection
Until connectionTimeout occurs


4.spring.datasource.hikari.minimumIdle
Meaning
Minimum number of idle connections always maintained in pool.
Example
Properties
spring.datasource.hikari.minimumIdle=5
Even if connections are unused:
Hikari keeps at least 5 ready connections
Real-time Benefit
When traffic suddenly increases:
App gets DB connections immediately
No delay creating new connection

Top comments (0)