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。