先物の作成に関するakka1.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が合計4つのフューチャーを作成するのは正しいですか?
- アクター1、2、および3に送信されるメッセージごとに1つ
- これらの3つの未来を包むもの
最初のケースでは、タイムアウトを変更するのは簡単です。
val f1 = actor1 !!! (msg1, 15000) // sets timeout to 15 seconds
しかし、どうすればラッピングフューチャーのタイムアウトを設定できますか?何か案は?