绝不能怜悯不该怜悯的家伙——达·芬奇 https://spring.io/projects/spring-statemachine Spring 状态机是应用程序开发人员将状态机概念与 Spring
每次用到的时候新创建一个状态机,太奢侈了,官方文档里面也提到过这点。而且创建出来的实例,其状态也跟当前订单的不符;spring statemachine暂时不支持每次创建时指定当前状态,所以对状态机引擎实例的持久化,就成了必须要考虑的问题。
——卡耐基 文档如下: https://docs.spring.io/spring-statemachine/docs/current/reference/#statemachine-examples-datapersist 代码示例如下: https://github.com/spring-projects/spring-statemachine/tree/main/spring-statemachine-samples
大中台服务 需要寻找更好的框架帮助编码,将核心链路中台化 有限状态机框架,例如Spring-StateMachine 使用Disruptor
更进一步 上面我们所说的能够的应对大部分场景言外之意就是有些场景还是应对不了,比如事件经常变化的场景就需要改动抽象类,可参考 spring-statemachine 框架,框架把状态、事件和动作的注册进行了抽象 //www.zhihu.com/question/31845498 有赞工作流引擎,https://tech.youzan.com/workflow-engine-in-youzan-devops/ spring-statemachine
——西塞罗 文档: https://docs.spring.io/spring-statemachine/docs/current/reference/#state-machine-via-builder
——白居易 文档: https://docs.spring.io/spring-statemachine/docs/current/reference/#configuring-guards 说白了守卫是用来判断事件执行后能否更新到下一个状态的
▲开源实现 目前开源的状态机实现方案有spring-statemachine、squirrel-foundation、sateless4j等。 其中spring-statemachine、squirrel-foundation在github上star和fork数稳居前二。
具体可以参考官网:https://spring.io/projects/spring-statemachine/ ant design prochat ProChat是基于ant design构建的用于快速构建
参考A State Machine Crash Course - spring-statemachine https://docs.spring.io/spring-statemachine/docs/
参考:https://projects.spring.io/spring-statemachine/
恢复后的状态:" + stateMachine.getState().getId()); } 五、参考 Spring StateMachine 官方 https://docs.spring.io/spring-statemachine
cn/java/spring-shell-application/index.html 使用 Spring Shell 开发 Java 命令行应用 http://blog.didispace.com/spring-statemachine
Spring State Machine Spring 子项目众多,其中有个不显山不露水的状态机框架 —— Spring State Machine https://projects.spring.io/spring-statemachine
Spring State Machine Spring 子项目众多,其中有个不显山不露水的状态机框架 —— Spring State Machine https://projects.spring.io/spring-statemachine
业界中也已涌现出了不少开源状态机的框架,比较常用的有Spring-statemachine(Spring官方提供) 、squirrel statemachine和阿里开源的cola-statemachine
[994c7abfbbb01c98d94c6881854c9d7d.png] 业界中也已涌现出了不少开源状态机的框架,比较常用的有Spring-statemachine(Spring官方提供) 、squirrel