Added HikariCP as connection pool manager for efficient database connection management.
This commit is contained in:
25
src/main/kotlin/net/ipksindia/dao/DatabaseFactory.kt
Normal file
25
src/main/kotlin/net/ipksindia/dao/DatabaseFactory.kt
Normal file
@@ -0,0 +1,25 @@
|
||||
package net.ipksindia.dao
|
||||
|
||||
import com.zaxxer.hikari.HikariConfig
|
||||
import com.zaxxer.hikari.HikariDataSource
|
||||
import net.ipksindia.config.AppConfig
|
||||
import java.sql.Connection
|
||||
|
||||
class DatabaseFactory private constructor() {
|
||||
private val dataSource: HikariDataSource
|
||||
|
||||
init {
|
||||
val config = HikariConfig()
|
||||
config.jdbcUrl = AppConfig.databaseConfig.url
|
||||
config.username = AppConfig.databaseConfig.user
|
||||
config.password = AppConfig.databaseConfig.password
|
||||
config.maximumPoolSize = 5
|
||||
dataSource = HikariDataSource(config)
|
||||
}
|
||||
|
||||
fun getConnection(): Connection = dataSource.connection
|
||||
|
||||
companion object {
|
||||
val instance = DatabaseFactory()
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user