gpt4 book ai didi

java - 在未来的 akka java 中无限期地等待 Actor 的回应

转载 作者:行者123 更新时间:2023-11-29 07:45:36 26 4
gpt4 key购买 nike

我有一段非基于 actor 的代码,它将一些操作委托(delegate)给 akka actor,我想无限期地等待这个 actor 响应,我的意思是,直到这个 actor 返回响应为止。问题是我不知道如何使用 Pattern.ask 和 Await.result 方法在 Future 中无限期等待。

我更喜欢这样的东西:

Timeout timeout = new Timeout(Duration.inf());
Future<Object> future = Patterns.ask(actor, msg, timeout);
String result = (String) Await.result(future, timeout.duration());

但这不起作用,因为 Timeout 不接受 Duration 对象作为构造函数参数,它只接受 FiniteDuration objetcs...

有什么想法吗?

干杯

最佳答案

您可能永远不会收到答复,因为不能 100% 保证消息送达。因此,无限期地等待并不是一个好方法——您很可能最终会永远等待。

您可能需要一定程度的超时(如果合适的话,可以是一个很长的超时),然后是一个后备案例,您可以在必要时重新发送您的请求。这将是处理这种情况的更可靠的方法。

关于java - 在未来的 akka java 中无限期地等待 Actor 的回应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26149945/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com