当我收到关于我的 API 的请求时,我想做一系列步骤,每个步骤都是检查或扩充。每一步都可能成功或失败。成功后,应执行下一步。失败时,应执行结束步骤,并完成流程。为此,我考虑了 Spring State Machine,因为它似乎符合要求。
我已经阅读了文档并使用了它,但有些事情让我无法理解:
请求和状态机之间是否应该存在一对一的关系,这意味着对于每个请求,我都会创建一个新的状态机实例?或者我应该通过为下一个请求重置机器以某种方式重用已完成的状态机?
清理完成的状态机怎么样?似乎没有办法销毁和清理状态机实例。如果我为每个请求创建 1 个,我就有效地引入了内存泄漏,除非框架以某种方式处理资源。