StateTimeout не работает с Akka FSM в Java
Я пытаюсь построить FSM-актер Akka в Java, который истекает через некоторое время, если он остается в состоянии ожидания. Я использую это ( https://doc.akka.io/docs/akka/2.5/fsm.html) в качестве справочного материала. Ниже приведен пример кода, который я использую
public class TestActorFSM extends AbstractLoggingFSM<State, Data> {
{
startWith(Idle, Uninitialized);
when(Idle, Duration.create(10, SECONDS),
matchEventEquals(StateTimeout(), Todo.class,
(event, todo) -> {
log().info("Timeout received");
return goTo(Expired);
}));
initialize();
}
Актер создается в состоянии ожидания, и если он остается в этом состоянии в течение 10 секунд, он должен перейти в состояние с истекшим сроком действия. Через 10 секунд я получаю событие, но оно не попадает в обработчик и выдает предупреждение с сообщением ниже. "необработанное событие StateTimeout в состоянии Idle"
Может кто-нибудь объяснить, пожалуйста, что я здесь делаю не так?