配置代码
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, 如何触发
答案 0 :(得分:0)
好吧,您的代码永远不会进入运行Payed
的状态paymentAction
。它只进入初始状态Create
。以为您没有显示任何转换配置,只有在Create
和Payed
之间存在匿名转换时才会进入该状态。