今天使用spring-state-machine
踩坑了,这里配了持久化,然后在事件里更改了额外数据
gameInfo = stateMachine.getExtendedState().get(WordChainConst.GAME_INFO, GameInfo.class); gameInfo.setXxx(xxx);
结果在interceptor
或者guard
等其他地方使用的时候,却获取不到正确的值
原来在修改值后,还需要持久化保存一下。。。
public class RedisSmPersister extends AbstractStateMachinePersister<StateEnum, EventEnum, String>
redisSmPersister.persist(sm, sm.getId());