请求远程参与者时出现超时异常



我使用下面的代码来请求和获取远程参与者的响应。但有时我会得到正确的响应,但有时会出现超时异常。在同一台机器上测试两个演员。不知道我做错了什么

final Timeout timeout = new Timeout(15, TimeUnit.SECONDS);
final Future<Object> future = Patterns.ask(remoteControllerActor, com, timeout);
final String result = (String) Await.result(future, timeout.duration());

以下异常:

java.util.concurrent.TimeoutException: Futures timed out after [15 seconds]
at scala.concurrent.impl.Promise$DefaultPromise.ready(Promise.scala:219)
at scala.concurrent.impl.Promise$DefaultPromise.result(Promise.scala:223)
at scala.concurrent.Await$$anonfun$result$1.apply(package.scala:116)
at scala.concurrent.BlockContext$DefaultBlockContext$.blockOn(BlockContext.scala:53)
at scala.concurrent.Await$.result(package.scala:116)
at scala.concurrent.Await.result(package.scala)

我得到了关于它的解决方案。实际上,从remoteControllerActor,我向另一个远程参与者发出了另一个异步请求,在那个远程参与者中,我运行linux命令来获取磁盘详细信息,但无法正确解析输出。这就是我得到超时异常的原因。

最新更新