在我当前的项目中,我需要使用弹簧状态机来控制某个实体的生命周期。为了进行模型驱动,我使用Papyrus定义状态机,并加载生成的UML文件,如下所示:
public class MyStateMachineConfig extends StateMachineConfigurerAdapter<String, String>
{
@Override
public void configure(StateMachineModelConfigurer<String, String> model) throws Exception
{
model.withModel().factory(rdfStateMachineModelFactory());
}
@Bean
public StateMachineModelFactory<String, String> myStateMachineModelFactory()
{
return new UmlStateMachineModelFactory("classpath:rdf.uml");
}
...
}
但是由于生存周期应该由状态机控制的实体是持久的,所以我也需要持久化状态机上下文。这需要从数据库中获取实体并为其实例化状态机,我必须序列化并保留该上下文。
我发现的所有样本都以编程方式定义了状态机。因此,我不知道如何实例化状态机以及如何获取其上下文,以便从此UmlStateModelFactory进行序列化和持久化。
请问有人可以遮住它吗?
非常感谢。
尼古拉斯