0

配置代码

states .withStates() .initial(OrderState.Create) .state(OrderState.Create, startAction) .state(OrderState.Payed, paymentAction) .states(EnumSet.allOf(OrderState.class));

运行代码

stateMachine .getStateMachineAccessor() .doWithAllRegions(access -> { access.resetStateMachine(new DefaultStateMachineContext<> (OrderState.Payed, null, null, null, null)); }); stateMachine.start();

paymentAction 启动时未触发,如何触发

4

1 回答 1

0

好吧,您的代码永远不会进入Payed可以运行的状态paymentAction。它只进入初始状态Create。以为您没有显示任何转换配置,因此只有在Create和之间存在匿名转换时才会进入该状态Payed

于 2017-02-17T19:05:12.337 回答