Вот как я определяю переход stateMachine в моей StateMachineModel
transitionData.add(new TransitionData<>(Status.Drafted, Status.Finalized, null, null, validateGuard, TransitionKind.EXTERNAL));
Как вы можете видеть, от Drafted до Finalized - переход без триггера с ValidateGuard.
Однако я заметил, что в ситуации, когда ValidateGuard вернул false, ValidateGuard будет запущен дважды. Похоже, что он попытается перейти снова, если первый вызов validateGuard вернет false.
Это нежелательно для меня. Как я могу убедиться, что даже при переходе без триггера (транзит без события) защита будет срабатывать только ОДИН РАЗ?
Обратите внимание, что интересно, если ValudateGuard возвращает true. ValidateGuard запускается только один раз.
Спасибо.