配置代码
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
的状态Payed
。它仅用于初始状态Create
。认为您没有显示任何过渡配置,因此,如果Create
和Payed
之间存在匿名过渡。