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.
Hatalı
Bölüm başlığı “Hatalı”suspend fun load() = repo.findAll()suspend fun load() = withContext(Dispatchers.IO) { repo.findAll() }Düzeltme
Bölüm başlığı “Düzeltme”Bloklayan veri erişimini Dispatchers.IO üzerinde çalıştırın ya da askıya alan bir istemci kullanın (R2DBC, Room suspend DAO).