植物借栽培而生育,人类借教育而成人。——罗素

今天使用spring-state-machine踩坑了,这里配了持久化,然后在事件里更改了额外数据

1
2
gameInfo = stateMachine.getExtendedState().get(WordChainConst.GAME_INFO, GameInfo.class);
gameInfo.setXxx(xxx);

结果在interceptor或者guard等其他地方使用的时候,却获取不到正确的值

原来在修改值后,还需要持久化保存一下。。。

1
public class RedisSmPersister extends AbstractStateMachinePersister<StateEnum, EventEnum, String> 
1
redisSmPersister.persist(sm, sm.getId());