StateMachineEventPublisher + Spring ApplicationEventPublisher
StateMachineListener + 各个StateMachineEvent
ExtendedStateChangeListener实现原理是org.springframework.util.Assert.ObservableMap + MapChangeListener;
ActionListener:用于监控Action的执行结果;
Transition可以addActionListener
State可以addActionListener
Transition蚩尤一个Guard<S, E>和一个Trigger<S, E>,
Transition蚩尤的getActions和State蚩尤的Actions有什么不同,各自的调用世纪?
Transition蚩尤的Actions是transit start之后,接着爱个回调
switchToState之后,先同步调用当前state的ExitActions,接着将目标state设置为当前state,设置过程中,会同步调用新的当前state的EntryActions,然后接着使用TaskScheduler用来执行State中的一部执行StateActions
也就是如果一个Transition连接这StateA和StateB,各个Actions的调用顺序为,StateA的Transition的Actions,StateA的ExitActions,StateB的EntryActions和StateB的StateActions。