Как получить следующее состояние / событие в Spring State Machine - PullRequest
1 голос
/ 07 января 2020

1) Я обрабатываю определенное событие перехода, как я могу получить информацию о следующем событии? 2) Если мне нужно остановить переход из одного состояния в другое во время действия перехода, как мне это сделать?

1 Ответ

2 голосов
/ 02 февраля 2020

1) Я предполагаю, что ваш код обработки выполняется в действии перехода.
Вы можете получить из предоставленного StateContext исходное состояние, целевое состояние и событие, которое вызвало переход.
Вы Я не могу получить следующее событие, потому что оно еще не было отправлено.

2) Я не думаю, что это возможно.
Если переходное действие может завершиться неудачно и это означает, что в этом сценарии вы следует go перейти в совершенно другое состояние - тогда вам следует перепроектировать машину состояний, чтобы запускать этот код где-то, отличным от действия перехода.
Например, из действия состояния, и отправлять другое событие, основанное на успехе / неудаче.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...