【发布时间】:2011-07-13 18:45:01
【问题描述】:
在composing futures 上的akka 1.1 文档的示例中,我想知道如何以编程方式设置生成的未来的超时。我知道我可以在 akka.conf 中调整全局超时,但我只想针对这段代码进行调整。
示例代码如下所示
val f1 = actor1 !!! msg1
val f2 = actor2 !!! msg2
val f3 = for {
a: Int <- f1
b: Int <- f2
c: String <- actor3 !!! (a + b)
} yield c
val result = f3.get()
在这个例子中,akka 总共创建了四个期货,我说得对吗?
- 每条消息发送到 actor1、2 和 3 一个
- 一个包装这三个期货
在第一种情况下更改超时很容易,例如
val f1 = actor1 !!! (msg1, 15000) // sets timeout to 15 seconds
但是如何设置包装未来的超时时间?有什么想法吗?
【问题讨论】: