Spring boot 从数据库派生spring状态机

Spring boot 从数据库派生spring状态机,spring-boot,spring-statemachine,Spring Boot,Spring Statemachine,是否可以将spring状态机的状态、操作和转换的配置信息存储在数据库中?其思想是在启动时加载该配置数据,并使用该数据创建状态机。这样,我们可以随时修改状态、操作和转换,并重新加载应用程序以修改状态机图 其次,我对spring状态机提供的persist功能有点困惑。是否根据导致某些状态转换的用户执行的操作来持久化历史/活动日志信息?或者是状态机的某些内部状态帮助重新加载它。如果我希望数据库中有这样的活动日志,spring状态机框架是否提供了存储数据的功能?文章中提到配置状态机 @Override

是否可以将
spring状态机的状态、操作和转换的配置信息存储在数据库中?其思想是在启动时加载该配置数据,并使用该数据创建状态机。这样,我们可以随时修改状态、操作和转换,并重新加载应用程序以修改状态机图

其次,我对spring状态机提供的
persist
功能有点困惑。是否根据导致某些状态转换的用户执行的操作来持久化历史/活动日志信息?或者是状态机的某些内部状态帮助重新加载它。如果我希望数据库中有这样的活动日志,spring状态机框架是否提供了存储数据的功能?

文章中提到配置状态机

@Override
public void configure(StateMachineTransitionConfigurer<States, Events> transitions) 
throws Exception {
    transitions
   .withExternal()
   .source(States.ORDERED)
   .target(States.ASSEMBLED)
   .event(Events.assemble)
   .and()
   .withExternal()
   .source(States.ASSEMBLED)
   .target(States.DELIVERED)
   .event(Events.deliver)
   .and()
   .withExternal()
   .source(States.DELIVERED)
   .target(States.INVOICED)
   .event(Events.release_invoice)
您可以从该表中读取数据,在其上循环并以“非流畅”的方式构建转换。我没有尝试过,但这是一个想法。

文章中提到要配置状态机

@Override
public void configure(StateMachineTransitionConfigurer<States, Events> transitions) 
throws Exception {
    transitions
   .withExternal()
   .source(States.ORDERED)
   .target(States.ASSEMBLED)
   .event(Events.assemble)
   .and()
   .withExternal()
   .source(States.ASSEMBLED)
   .target(States.DELIVERED)
   .event(Events.deliver)
   .and()
   .withExternal()
   .source(States.DELIVERED)
   .target(States.INVOICED)
   .event(Events.release_invoice)
您可以从该表中读取数据,在其上循环并以“非流畅”的方式构建转换。我没有尝试过,但这是一个想法。

我刚刚发现:我刚刚发现: