我可以将Ktor和Exposed混合使用吗?

Kam*_*yar 5 asynchronous nio kotlin kotlin-exposed

我正在使用Ktor和Exposed ORM编写服务,这显然不是异步的.我来自Python世界,然后使用阻塞ORM和异步IO库是一个罪过,因为它可能会阻止线程中的所有用户.Kotlin是否适用同样的规则?我创建了一个糟糕的架构吗?

Ily*_*kov 5

Exposed使用线程本地存储来保持事务实例对实现可访问,并避免将其与每个函数调用一起传递.由于transactionDSL功能是同步执行的,并且不释放线程以便ktor可以为其他呼叫重用,因此将它们一起使用应该没有任何问题.

  • 肯定阻塞数据库工作的线程在很大程度上打败了使用异步框架的重点? (3认同)