当前位置: 首页 > 知识库问答 >
问题:

spring-statemachine 2.3.1-如何从StateMachineModelFactory获得StateMachine?

解博明
2023-03-14
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");
  }
  ....

共有1个答案

贝嘉泽
2023-03-14

StateMachineFactory的配置如下所示

@Configuration
@EnableStateMachineFactory
public static class SsmConfig
        extends EnumStateMachineConfigurerAdapter<States, Events> {

    @Override
    public void configure(StateMachineStateConfigurer<States, Events> states)
            throws Exception {
        states
            .withStates()
                .initial(States.S1)
                .end(States.SF)
                .states(EnumSet.allOf(States.class));
    }

}

然后,您可以简单地将StateMachineFactory到处注入,只需获取状态机

class SomeService {

    @Autowired
    private StateMachineFactory<States, Events> factory;

    void method() {
        StateMachine<States,Events> stateMachine = factory.getStateMachine();
        stateMachine.start();
    }
}

更多信息可以在这里找到。

 类似资料:
  • callbackFacebook函数如何从uri获取代码的值? uri=http://localhost:8081/callback?code=AQDNm6hezKdTsId5k4oXKNo

  • 谢谢你的关注,也很抱歉我的英语不好。 我正在从中获取htmlhttp://flvxz.com/当我在输入框中输入一些单词并单击时。就像: 加载雅虎主页 搜索"某物"(输入某物词并单击按钮) 获取返回html MyWebsit通过javaScrip返回消息 这是我的密码 那么,我怎样才能得到新的html呢?我尝试如下,不工作。 我的问题: 如何获取html 非常感谢你,我正在提高我的英语。。。

  • 问题内容: 当我调试此代码时,在databaseUser中dataSnapshot在数据库中具有User的值,但是在object中,未添加,则全部为null。而且我不明白,因为在对象事件中正常接收值。 我的数据库用户,目前仅用于测试: 和方法,只是选择另一个活动的事件的关键: 问题答案: 当您对Firebase数据库执行查询时,可能会有多个结果。通过附加a,您可以在一个快照中获得这些结果,因此快照

  • 问题内容: 我正在开发一个具有基于Flex的前端和Spring / Hibernate后端的应用程序。 要使Facebook集成以目前的方式运行,我需要阅读后端前端javascript中设置的cookie,并在登录期间进行一些验证,以查看用户是否尝试欺骗其Facebook。登录。 这将非常容易,但是我不知道如何获取HttpServletRequest。我正在使用一个非常基本的Spring配置(这是

  • 我正在使用Spring-Boot和Spring Security,并使用第三方的OAuth2登录名。 SSO提供程序有一个accesstokenendpoint,它返回以下JSON 引用来自accesstokenendpoint的JSON中的值。我如何访问这些值给定我的设置?

  • 我在Spring上下文中有几个bean,它们具有状态,所以我希望在单元测试之前/之后重置该状态。 我的想法是向helper类中添加一个方法,该方法只检查Spring上下文中的所有bean,检查用或注释的方法,并调用它们。 注意:简单地迭代所有已定义bean的解决方案是无用的,因为我有许多惰性bean,其中一些不能实例化,因为这在某些测试中会失败(例如,我有一个bean需要,但测试工作,因为它们不需