Transitions external internal 和 local 有什么不同?在 Spring 文档 11.5 配置转换

what is different with Transitions external internal and local ? in Spring doc 11.5 Configuring Transitions

11.5 配置转换 我们支持三种不同类型的转换,外部、内部和本地。转换由信号触发,信号是发送到状态机或定时器的事件。 我不知道有什么不同。

内部

您可以将内部转换视为自转换——从 A 到 A; 源和目标状态始终相同。

本地和外部

大多数时候这两者是等价的,除了在超级状态和子状态之间转换时。如果目标状态是源状态的子状态或者目标是源状态的超状态,则本地转换不会导致退出和进入源状态。

请参阅 official UML specification(第 14.5.11 节 - 转换 class,尤其是 - 约束部分,其中正式定义了上述内容)实现了 Spring 状态机.