你如何做一个fork并加入spring状态机

问题描述

我正在尝试创建一个使用 fork 和 join 示例的状态机。基本上我有一个主流程需要另一个流程并行执行

举个例子,主要流程状态是1-5

辅助流动状态是 alpha 和 delta

这是我当前的状态机构建器,包括状态和转换

    private StateMachine<TestStates,TestEvents> testBuildForkJoinSM() throws Exception {
        StateMachineBuilder.Builder<TestStates,TestEvents> builder = StateMachineBuilder.builder();

        builder.configureConfiguration()
                .withConfiguration()
                .taskExecutor(new ConcurrentTaskExecutor())
                .autoStartup(true);

        builder.configureStates()
                .withStates()
                .initial(TestStates.ONE)
                .fork(TestStates.TWO)
                .state(TestStates.THREE)
                .and()
                    .withStates()
                    .parent(TestStates.TWO)
                    .initial(TestStates.ALPHA)
                    .end(TestStates.DELTA)
                .join(TestStates.DELTA)
                .state(TestStates.FOUR)
                .end(TestStates.FIVE);


        builder.configureTransitions()
                .withExternal()
                .source(TestStates.ONE).target(TestStates.TWO).event(TO_TWO)
                .and()
                .withfork()
                .source(TestStates.TWO).target(TestStates.ALPHA).target(TestStates.DELTA)
                .and()
                .withJoin()
                .source(TestStates.DELTA).target(TestStates.FOUR)
                .and()
                .withExternal()
                .source(TestStates.FOUR).target(TestStates.FIVE).event(TO_FIVE);


        return builder.build();

    }

有人可以为此提供一些帮助,因为它无处可去!

我想要一些提供使用叉子并连接在一起的工作构建器

提前致谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...