Конечный автомат Spring - как создать StateMachineContext из UmlStateMachineModelFactory - PullRequest
0 голосов
/ 11 октября 2019

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

Может ли кто-нибудь пролить свет на это, пожалуйста?

Большое спасибо заранее.

Николас

...