peterpanzsy
peterpanzsy
@TimGuan @hekailiang 状态机调用逻辑是在业务代码里写:比如controller里, Order order = orderService.find(orderId); initialState = order.status; T stateMachine = stateMachineBuilder.newUntypedStateMachine( initialState, //暂时开启debug进行日志trace StateMachineConfiguration.create().enableDebugMode(true).enableAutoStart(true), //注入applicationContext applicationContext); stateMachine.fire(OrderEvent.refund, context); 是这个意思么? 在callMethod里或者afterTransitionCompleted写持久化对象逻辑: order.setStatus(toStatus); orderService.save(order); 如果业务代码更新实例状态失败呢?我理解的是状态机不需要做回滚,当前状态机对象直接等待垃圾回收,但是我们需要在业务代码里获取到这个更新失败,如果在afterTransitionCompleted写持久化,外部业务无法感知,如果在callMethod写,是否可以throw一个exception出去呢?
@hekailiang 发现居然是同校同系师兄,请问还更新么?有没有业务应用实践供学习呢?