根据我的知识,slick3.1目前构建在JDBC本机驱动程序上,该驱动程序正在阻止驱动程序level.Can上的IO操作,我使用mysql-异步驱动程序调用以及普通的Sql和运行框架?我需要使用ExecutionContext在每个DB调用上打开新线程吗?
发布于 2017-03-21 08:07:55
您是对的,slick是建立在标准(阻塞) jdbc驱动程序之上的(参见这里)。但是,对于大多数工作负载来说,它应该是可以的。
我可以使用mysql-异步驱动程序调用和普通Sql和播放框架吗?
具体指的是哪个java驱动程序?我很熟悉Mauricio异步驱动程序,它应该是完全异步的,并且在它的基础上构建了一些很好的库,如果您想要替换它的话。(例如奎尔)
我需要使用ExecutionContext在每个DB调用上打开新线程吗?
如果所有线程都处于阻塞状态,那么由于阻塞DB查询,一个新的http请求就会被饿死。更好的方法是为阻塞任务创建一个专门的线程池。要更好地理解这一点,请参考play的线程池配置。
https://stackoverflow.com/questions/42905837
复制相似问题