Если я правильно понимаю, вам нужен эффект, похожий на «домино», на переходы состояний (каскадные переходы - чтобы текущее состояние инициировало переход к следующему состоянию, которое, в свою очередь, запускает переход к следующему состоянию и т. Д. ).
Это прямо связано с действиями SM.
Каждое действие SM имеет доступ к StateContext<State, Event>
, из которого вы можете получить экземпляр конечного автомата и запустить следующее событие:
//Domino Effect
void actionForS1(StateContext<State, Event> context) {
//do actions
Message transitionToS2 = MessageBuilder.withPayload(...).build();
context.getStateMachine().sendEvent(transitionToS2);
}
void actionForS2(StateContext<State, Event> context) {
//do actions
Message transitionToS3 = MessageBuilder.withPayload(...).build();
context.getStateMachine().sendEvent(transitionToS3);
}