sqlite JDBI泄漏线程

sgtfey8w  于 2022-11-15  发布在  SQLite
关注(0)|答案(1)|浏览(163)

尽管我看到SQLite表正在被填充,但由于线程泄漏,测试失败。这个问题是在我引入使用JDBI写入SQLite表时开始出现的。JDBI是否存在已知的线程泄漏问题?我将如何进一步调试它?
(基本测试类中的此注解正在寻找并报告有关线程泄漏的信息。)

import org.apache.lucene.util.LuceneTestCase
import org.junit.Assert
import org.junit.Test
import org.jdbi.v3.core.Jdbi
import org.jdbi.v3.core.kotlin.KotlinPlugin
import org.jdbi.v3.sqlite3.SQLitePlugin
import org.jdbi.v3.sqlobject.SqlObjectPlugin
import org.jdbi.v3.sqlobject.kotlin.KotlinSqlObjectPlugin
import java.sql.Connection
import java.sql.DriverManager

class MyTest: LuceneTestCase() {
    @Test
    fun testDatawrite() {
        
        val rawdata = MyData(id=1, name="stackoverflow")
        val jdbi = Jdbi.create(DriverManager.getConnection("jdbc:sqlite:/tmp/world.db"))
        jdbi.installPlugin(SQLitePlugin())
        jdbi.installPlugin(KotlinPlugin())
        jdbi.installPlugin(SqlObjectPlugin())
        jdbi.installPlugin(KotlinSqlObjectPlugin())

        jdbi.withExtension<Unit, MyDao, Exception> (
            MyDao::class.java)
            {
                dao ->
                dao.insert(listOf(rawdata))

            }
    }
}

错误讯息

ws51t4hk

ws51t4hk1#

您确定这是JDBI而与Sqlite无关吗?您能用另一个数据库(如h2或hsqldb)重现吗?这将是非常有帮助的。
从我所看到的是,这是一个JDK清理线程,可能与JDBI和SQLLite无关。

相关问题