Scala/Play 线程池指标

标签 scala playframework

有什么方法可以在 Scala 或 Play Framework 中获取线程池指标?

scala.concurrent 我只能访问

ExecutionContextExecutor

它没有返回事件连接、排队任务计数等的方法。

我不能将它转换为可以访问执行程序的实现,因为它们是私有(private)的。

感谢您的帮助。

最佳答案

我是这样解决的:

val field: Field = Class.forName("scala.concurrent.impl.ExecutionContextImpl").getDeclaredField("executor")
field.setAccessible(true)
val executor: ForkJoinPool = field.get(ExecutionContext.global).asInstanceOf[ForkJoinPool]

我知道它目前只能与 ForkJoinPool 一起使用,但使用一些模式匹配等。它可以变得更通用,也可以与 ThreadPoolExecutor 一起使用。

关于Scala/Play 线程池指标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41393061/

相关文章:

scala - 通过反射访问 Scala 嵌套对象

scala - 为什么 scala.math.PartialOrdering.lteq 是抽象的,而不是根据 .tryCompare 定义的?

scala - 使用 scala akka spray can 对 http 服务器进行非常基本的测试时出错

java - 在 Play 1.x 框架中使用 SOAP Web 服务

java - 无法实例化类 models.Customer。它必须有一个默认构造函数

java - Play 推荐的 mongo db 插件是什么!框架?

scala - Play Swagger UI url 别名

Scala 集合 CanBuildFrom

scala - Kiselyov zipper 的惯用 Scala 翻译?

java - 为什么 jvisualvm 看不到我的 Play Framework 应用程序?