Попытка модульного тестирования конечного автомата Spring UML с таймерами. Ожидается, что в реальном режиме некоторые таймеры сработают через 180 секунд.
Я ищу некоторые методы для переопределения значений таймера (относительных или нет), определенных в модели UML. Значения были встроены в модель UML, как показано ниже, и проанализированы UmlStateMachineModelFactory во время инициализации.
<packagedElement xmi:type="uml:TimeEvent" xmi:id="_KfMDsK89Eeubz4nHWXyqnw" name="serviceControlTimeoutTimer" isRelative="true">
<when xmi:type="uml:TimeExpression" xmi:id="_oS5kEK89Eeubz4nHWXyqnw">
<expr xmi:type="uml:LiteralInteger" xmi:id="_oS5kEa89Eeubz4nHWXyqnw" value="180000"/>
</when>
</packagedElement>
Насколько я понимаю, к этим триггерам времени можно получить доступ при переходах между состояниями, правильно применив TimerTrigger. Но я не знаю, как запускать те, у которых пользовательские периоды не определены в UML.
Ответы, приведенные в разделе Динамическая настройка конечного автомата Spring, мне не очень помогают, и я не мог ‘ найти способ использовать фабрики конечных автоматов
https://docs.spring.io/spring-statemachine/docs/1.2.x-SNAPSHOT/reference/html/sm-factories.html