1.状态机的实现:
2.状态机的转化图如下:
假设有一个任务,其在流程中经历了3个节点的状态图。每个业务流程中不同的状态。
在不同的流程中执行不同的任务,当有不同的事件进行触发时,进行状态转化。
路径名 | 事件名称 |
1 | 过期时间 |
2 | 循环提交 |
3 | 提交Ok |
4 | 验证失败 |
5 | 加入黑名单 |
因此代码如下:
3.更多参考资料
Java设计模式: 状态模式:
4.测试cusomter:
4.1组装报文
4.2 调用服务:
<dubbo:reference id="stateManager" version="9.9.9"
interface="com.tpadsz.ctc.api.StateManager" validation="true" timeout="1200000"/>
4.3 更改状态debug 测试事件发生的log.