[Day 27] 没有 connection pool 支援怎麽办?谈 HikariCP

在资料库连线中,如果连线数越来越多,在进行管理时常常会使用 connection pool 进行管理。

不过,在目前的 Kotlin Exposed 框架中,是没有支援 connection pool 的。这样的话,是不是代表我们无法使用 connection pool 了呢?

这就要介绍到 Kotlin 的特性,以及另外一个套件,HikariCP,了!

Kotlin 的特性

Kotlin 这个语言,在进行设计时,就已经考量到了 Java 现有大量的套件,以及许多现存的专案。

也因为如此,Kotlin 在设计时,除了针对语法进行许多的最佳化设计,在和现有 Java 执行档的互动上,也有着很高的相容性。

也就是说,现有的 Java 套件,或者现有Java 的专案,有很高的机率是可以和 Kotlin 的程序码相容的。

今天我们要介绍的 HikariCP 这个套件,就是一个 Java 针对 connection pool 所建立的套件,我们一样可以拿来套用在 Kotlin 专案上面。

安装方式跟过去套件类似,我们在 build.gradle.kts 内加上

implementation("com.zaxxer:HikariCP:2.7.8")

然後重新 load 一次设定

这样之後,我们就可以在程序里面,使用 HikariCP 的服务来进行连线的设定。

比方说

Database.connect(hikari())

private fun hikari(): HikariDataSource {
	val config = HikariConfig()
	// 设置
	config.validate()
	return HikariDataSource(config)
}

由於 HikariCP 套件的使用功能很多,自己就可以独立撰写一系列的说明与教学,这边不多加介绍 HikariCP 的使用方式。我们纯粹以这个案例,来说明 Kotlin 和 Java 套件的整合,以及我们可以怎麽在遇到问题时,透过既有的 Java 套件,来解决我们的问题。


<<:  <Day17>在用API做投资前,先弄懂什麽是"量化交易"?

>>:  Day 17 - 专案实战-记帐系统

【没钱买ps,PyQt自己写】Day 23 - 使用系统内建的调色盘 QColorDialog,来替我们选择颜色 QColor (Color Picker)

看完这篇文章你会得到的成果图 此篇文章的范例程序码 github https://github.co...

App 测试技能树

-常用IDE - iOS - Xcode - Common - Atom - Sublime Tex...

予焦啦!虚拟记忆体启用後的除错

本节是以 Golang 上游 4b654c0eeca65ffc6588ffd9c99387a7e4...

Day 23:最小生成树(MST)

贪婪演算法可以解决的一个问题就是找到一张图中的最小生成树(minimum spanning tree...

[13th-铁人赛]Day 5:Modern CSS 超详细新手攻略 - Selector (一)

今天再来深度研究一下CSS的语法!我要介绍的是CSS中的选择器,选择器是最重要的语法之一,决定了要改...