在vertx executeblock上设置超时

nr7wwzry  于 2021-07-07  发布在  Java
关注(0)|答案(1)|浏览(411)

我在vertx.executeblocking()上运行了一些代码,但有时它会挂起,试图在不引发任何异常的情况下获取外部连接,我使用的库超出了我的控制范围,因此我无法将其修改为失败。
我只收到一个警告,但线索还在继续

WARNING: Thread Thread[vert.x-worker-thread-3,5,main]=Thread[vert.x-worker-thread-3,5,main] has been blocked for 177868 ms, time limit is 60000 ms

我怎样才能让vertx暂停这个呼叫?

yrefmtwq

yrefmtwq1#

vertx不公开api来通过内部executor服务控制任务的执行,该服务在您使用vertx.executeblock()时被调用
您可以使用自己的执行器池,这是推荐用于长任务的。这个答案描述了一个超时的实现。

相关问题