В моем текущем проекте мне нужно использовать конечный автомат пружины для управления жизненным циклом определенного объекта. Чтобы управлять моделью, я использую 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.
Может ли кто-нибудь пролить свет на это, пожалуйста?
Большое спасибо заранее.
Николас