有没有办法在Scala或Play Framework中获取线程池指标?
在scala.concurrent中,我只能访问
在scala.concurrent中,我只能访问
ExecutionContextExecutor
这个对象没有返回活动连接、排队任务数量等方法。
我无法将其转换为有访问执行器的实现,因为它们是私有的。
感谢任何帮助。
ExecutionContextExecutor
这个对象没有返回活动连接、排队任务数量等方法。
我无法将其转换为有访问执行器的实现,因为它们是私有的。
感谢任何帮助。
I solved it that way:
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一起使用。