3
我有接收到消息而在ReadyState
等待在多個阿卡FSM消息
lookupA ! Wrapper(Lookup("A"))
lookupB ! Wrapper(Lookup("B"))
lookupC ! Wrapper(Lookup("C"))
goto(LookingUpDataState) using DataFound(a = None, b = None, c = None)
演員然後等待響應之後運行下面的僞代碼的阿卡FSM演員其可以是FullResult[T]
(延伸ServiceResult[T]
)或Empty
(延伸ServiceResult[Nothing]
)。成功的查找結果用於填充DataFound實例的字段,Empty查找結果會導致記錄的錯誤消息和actor的終止。
我的問題是:我怎樣才能確定哪些查找失敗,以便我可以記錄失敗或回退到默認值?我能想到的只是檢查發件人的ActorRef(hacky)或向所有郵件添加唯一的ID字段(開銷過高)。
這是使用Ask和期貨解決的一個簡單問題。是否存在慣用的Akka解決方案?