İçeriğe geç

Coroutine içinde bloklayan DB çağrısı (ARCH8043)

Anahtar kotlin.async.blocking-db-call-in-coroutine · Önem warning · Kategori async

withContext(Dispatchers.IO) ile sarılmamış bir suspend fonksiyon içindeki JDBC / JPA bloklayan veri erişimini işaretler. Kotlin repository’leri normalde suspend’dir ve raporlanmaz.

suspend fun load() = repo.findAll()
suspend fun load() = withContext(Dispatchers.IO) { repo.findAll() }

Bloklayan veri erişimini Dispatchers.IO üzerinde çalıştırın ya da askıya alan bir istemci kullanın (R2DBC, Room suspend DAO).