回答

收藏

如何在Play Java中创建数据库线程池并使用此池进行数据库查询

技术问答 技术问答 253 人阅读 | 0 人回复 | 2023-09-12

我目前正在使用它play java并使用默认线程池进行数据库查询,但了解使用数据库线程池进行数据库查询可以使我的系统更有效率。我的代码是
9 E/ ~- z; `" Timport play.libs.Akka;import scala.concurrent.ExecutionContext;String sqlQuery = "very long query with lot of joins"SqlQuery query = Ebean.createSqlQuery(sqlQuery);List rows = query.findList();// do some computation over the data obtained and send as response我正在尝试以下方法来创建线程池
3 \2 A" P, {1 K* I7 P; e0 ~ExecutionContext myExecutionContext = Akka.system().dispatchers().lookup("play.akka.actor.my-context");我是否以正确的方式创建线程池,如果是,我如何使用线程池将代码更改为以下内容?
, w. t  X7 n2 L, l8 w( `! USqlQuery query = Ebean.createSqlQuery(sqlQuery);CompletionStage> = //query.findList(myExecutionContext)// do some computation over the data obtained and send as response我试图以正确的方式做到这一点?& f% ^6 A& d8 _. i! j' k. L
笔记; 如果我使用存在的Java执行器0 ]7 V" j% c, y8 u8 R
import java.util.concurrent.CompletableFuture;import java.util.concurrent.CompletionStage;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;如何设置最大线程等设置?我想用这个池使用可用的阻塞驱动程序来调用oracle
4 ^- r7 Z. [5 o, w" Q. }db。因此,我要在此池中使用的最大线程数等于我可以与数据库建立的数据库连接数。  H; W5 z, E4 r9 l
                                                               
3 J4 {& Z4 a6 b! I    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则