1
我有下面的代碼塊,稍微延遲調用兩個請求。Akka調度
final ActorRef actor1 = getContext().actorOf(
ActorClass.props(context,
"actor1");
futures.add(ask(actor1 , msg1, t));
final ActorRef actor2 = getContext().actorOf(
ActorClass.props(context,
"actor2");
futures.add(Patterns.after(Duration.create(10000, TimeUnit.MILLISECONDS),
getContext().system().scheduler() ,
getContext().dispatcher(), ask(actor2,msg2,t)));
在actor1和actor2中,我調用了一個REST請求,它返回一個cookie以及響應消息。我的意圖是延遲發送與actor2對應的REST請求。然而,我從日誌中觀察到的是,請求是從兩個參與者立即發送的,並且只有響應處理(兩個期貨之間)延遲了10秒。這是Akka調度程序的預期行爲嗎?如果我想在上述情況下延遲兩個參與者之間的請求啓動,我可以使用Thread.sleep嗎? (我讀過的地方不建議在akka actor中使用Thread.sleep)。欣賞投入。