Таймер Акка FSM не срабатывает, когда удаленный актер убит - PullRequest
0 голосов
/ 06 ноября 2018

Мой FSM отправляет сообщения удаленным субъектам и выполняет переход при получении ответов. Состояния FSM настроены с тайм-аутом, который работает правильно (тайм-аут срабатывает и вызывает переход «тайм-аут», как и ожидалось, даже если от удаленных участников не получен ответ), но по какой-то причине, если субъект назначения умер, тайм-ауты FSM будут не огонь.

Мой FSM выглядит так:

onTransition {
   case A -> B ...
   case B -> C ...
   ...
}

onTermination {
    case StopEvent(FSM.Normal, state, _) => ...
    case StopEvent(FSM.Failure(_, _, _) => ...
  }

  when(A, stateTimeout = timeout) {
    ....  
  }
  ...
  whenUnhandled {
    case Event(StateTimeout, _) => NOT CALLED IF THE REMOTE ACTOR DISCONNECTS
  }
...