Я настраиваю транзакции конечного автомата весны, я хочу запустить Event2 по завершении Event1
Это состояния, которые у меня есть
Состояния -> "ПЕРВОНАЧАЛЬНО", "ВТОРОЕ", "ТРЕТЬЕ"
Я настроил транзакции для отправки SECOND_EVENT из действия FIRST_EVENT, как показано ниже
transitions.withExternal()
.source("INITIAL")
.target("SECOND")
.event("FIRST_EVENT")
.action(new Action<String, String>() {
@Override
public void execute(StateContext<String, String> context) {
System.out.println("FIRST_ACTION_EXECUTED");
context.getStateMachine().sendEvent("SECOND_EVENT");
}
})
.and()
.withExternal()
.source("SECOND")
.target("THIRD")
.event("SECOND_EVENT")
.action(new Action<String, String>() {
@Override
public void execute(StateContext<String, String> context) {
System.out.println("TEST SUCCESS");
}
});
Здесь я получаю исключение evenNotAccepted, и я знаю, что причина в том, что statemachine.getState () имеет значение INITIAL и не может напрямую изменить состояние с INITIAL на THIRD.
Итак, мой вопрос: есть ли возможность настроить мой автомат состояний для автоматического запуска второго события при завершении первого события