【发布时间】:2019-10-15 09:40:50
【问题描述】:
我在项目中使用 spring-statemachine 2.3.1 时遇到以下业务案例:
状态机由 Papyrus 插件定义,并使用 UmlStateMachineModelFactory 从 uml 文件加载,如下所示:
public class MyStateMachineConfig extends StateMachineConfigurerAdapter<String, String>
{
@Override
public void configure(StateMachineModelConfigurer<String, String> model) throws Exception
{
model.withModel().factory(myStateMachineModelFactory());
}
@Bean
public StateMachineModelFactory<String, String> myStateMachineModelFactory()
{
return new UmlStateMachineModelFactory("classpath:my.uml");
}
....
我需要使用 JPA 将状态机上下文持久保存在数据库中。为此,我需要使用 StateMachinePersister.persist()。此方法使用 StateMachine 实例作为其第一个输入参数。但是,我无法从我的 StateMachineModelFactory 中获取 StateMachine 实例。 StateMachineFactory 类有一个名为 getStateMachine() 的方法,而 StateMachineModelFactory 类没有。
我没有找到从 StateMachineModelFactory 实例获取 StateMachineFactory 实例的方法。任何人都可以提供一些建议,最好是例子吗?文档中有不同的示例说明如何执行此操作,但没有针对从 UML 文件加载状态机的情况。
亲切的问候,
尼古拉斯·杜米尼
【问题讨论】: