Spring StateMachine
微笑看你哭
这个作者很懒,什么都没留下…
展开
-
Spring StateMachine学习(四) —— 持久化
在实际业务中,状态机可能需要在某个环节停留,等待其他业务的触发,然后再继续下面的流程。比如订单,可能在支付环节需要等待一个剁手的用户隔天再下单,所以这里面涉及到一个创建的状态机该何去何从的问题。在spring statemachine中,给出来的办法就是保存起来,到需要的时候取出来用。持久化到本地内存首先要实现StateMachinePersist接口,这个接口非常简单,就是write和rea...原创 2020-04-16 22:34:21 · 4171 阅读 · 1 评论 -
Spring StateMachine学习(五) —— 持久化
实际的企业应用中状态机的流程会更加复杂,而我们最常用到的就是choice。它类似于java的if语句,作为条件判断的分支而存在,让我们先看一张图:这张图表现的是一个表单(form)的整个状态流程:创建初始的空白表单( BLANK_FORM)填写(WRITE)表单,成为填充完表单(FULL_FORM)检查(CHEKC)表单如果是表单名(formName)不为null,表单成为待提交表...原创 2020-04-16 23:27:00 · 1294 阅读 · 0 评论 -
Spring StateMachine学习(三) —— 传递参数
在企业开发中,数据在不同的业务间传输是最常见的工作,所以虽然我们的主架构是用的状态机,也就是从流程状态的角度来看待这个项目,但在具体业务中,每个状态的转变中会牵涉到各类业务,这些业务有些需要收到状态机变化的通知,需要把状态值传递给业务类和业务方法,同样的,在处理状态变化是,也需要获取业务数据,方便不同的业务在同一个状态变化环节做各自的业务,下面我们就讲下这个数据在spring statemachi...原创 2020-04-15 02:13:02 · 1669 阅读 · 1 评论 -
Spring StateMachine学习(一) ——快速开始
有限状态机(Finite-state machine)有限状态机(英语:finite-state machine,缩写:FSM),简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。应用FSM模型可以帮助对象生命周期的状态的顺序以及导致状态变化的事件进行管理。将状态和事件控制从不同的业务Service方法的if else中抽离出来。FSM的应用范围很广,对于有复杂状态流,...原创 2020-04-14 03:50:59 · 1808 阅读 · 1 评论 -
Spring StateMachine学习(二) —— 多个状态机
在实际的企业应用中,基本不可能只有一个状态机流程在跑,比如订单,肯定是很多个订单在运行,每个订单都有自己的订单状态机流程。我们就需要在每次使用时创建一个新的状态机。创建多个状态机通过 RefundReasonMachineBuilder 创建多个状态机。@Slf4j@Componentpublic class RefundReasonMachineBuilder { pub...原创 2020-04-15 01:53:58 · 2215 阅读 · 0 评论