state-machine持久化踩坑
发表于|更新于
|浏览量:
植物借栽培而生育,人类借教育而成人。——罗素
今天使用spring-state-machine踩坑了,这里配了持久化,然后在事件里更改了额外数据
1 | gameInfo = stateMachine.getExtendedState().get(WordChainConst.GAME_INFO, GameInfo.class); |
结果在interceptor或者guard等其他地方使用的时候,却获取不到正确的值
原来在修改值后,还需要持久化保存一下。。。
1 | public class RedisSmPersister extends AbstractStateMachinePersister<StateEnum, EventEnum, String> |
1 | redisSmPersister.persist(sm, sm.getId()); |
相关推荐
2022-03-26
枚举工具类
暮冬时烤雪,迟夏写长信。——陈鸿宇 现已并入hutool5.8.0,PR链接地址:https://gitee.com/dromara/hutool/pulls/583 This is a story about pull requestgetFieldBy我们在使用枚举的过程中,经常会遇到字段相互之间映射的场景:例如此处我编写一个GenderEnum 12345678910111213@Getter@AllArgsConstructorpublic enum GenderEnum { /** * 性别枚举 */ FEMALE("男"), MALE("女"), UNKNOWN("未知"); private final String desc;} 然后对其进行使用,我们前端传入可能是0/1/2这样的数字,我们就可以通过EnumUtil#getFieldBy,来通过ordinal,也就是我们枚举的序号,获取对应的汉字返回 123// ...
2023-03-19
关联更新封装(三)
太如意的生活便是平凡的生活,太容易获得的东西,便不是贵重的东西。——茅盾 今天是另外一种类型的关联更新封装 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768public static <T, K extends Comparable<? super K> & Serializable, S> BaseDbBO<S> saveSub(SubBO<T, K, S> bo) { val subIds = Steam.of(bo.getMainList()) .flat(data -> Steam.of(bo.getSubIdGetters()).map(f -> f.apply(data))) .nonNull().toList(); val su...
2021-11-11
netty-websocket
历经万般红尘劫,犹如凉风轻拂面。——林清玄 今天用了这个netty-websocket-spring-boot-starter 那是相当的香啊 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173package com....
2022-07-04
reducing和reduce
我的悲伤还来不及出发,就已经到站下车。——《第七天》 在java中,分为Collectors.reducing和Stream#reduce reduce是减少的意思,此处意为聚合 聚合是聚拢、合并的意思 我们来看看这俩函数的区别吧,下方我用了静态导入: 1234567import java.math.BigDecimal;import java.util.*;import java.util.function.BinaryOperator;import java.util.stream.Collector;import java.util.stream.Stream;import static java.util.stream.Collectors.*; 首先是写法差异,对于只有一个参数的,这个参数指定了我们聚合的操作,此处我做一个累加,返回值为Optional证明有可能不存在值,就没有累加 1234Optional<Integer> sumOpt = Stream.iterate(0, i -> ++i).limit(10).collect(reduci...
2024-08-04
HuTool 6.0LambdaUtil
家庭是用孜孜不倦的爱情的劳动建立起来的。——陀思妥耶夫斯基 介绍LambdaUtil 是一个用于处理 Lambda 表达式的工具类,提供了解析、获取信息和构建 Lambda 方法的多种功能。 使用方法介绍Lambda 获取相关方法 getRealClass 获取 Lambda 实现类。 resolve 解析 Lambda 表达式,并缓存结果。 getMethodName 获取 Lambda 表达式的函数名称。 getFieldName 获取 Lambda 表达式 Getter 或 Setter 对应的字段名称。 buildGetter 构建 Getter 方法引用。 buildSetter 构建 Setter 方法引用。 build 构建指定方法的 Lambda 引用。 toFunction 将 BiFunction 转换为 Function。 toPredicate 将 BiPredicate 转换为 Predicate。 toConsumer 将 BiConsumer 转换为 Consumer。 getInvokeMethod ...
2020-07-10
mybatis排序无效问题
今天在mybatis.xml里加了段排序,一开始发现排序不生效,debug发现参数确实传过去了,但并没有执行排序逻辑 最后发现。。。 12//这样写法是错误的,mybatis会给它加上引号ORDER BY #{cowBeer} 要更改成$ 12//也就是这样ORDER BY ${cowBeer} 这样会直接替换、拼接sql

阿超
我的名字叫阿超 年龄25岁 家在北京市 职业是软件开发 每天最晚也会在八点前回家 不抽烟 酒浅尝辄止 晚上十二点上床 保证睡足八个小时 睡前写一篇博客 再做二十分钟俯卧撑暖身 然后再睡觉 基本能熟睡到天亮 像婴儿一样不留下任何疲劳和压力 就这样迎来第二天的早晨 健康检查结果也显示我很正常 我想说明我是一个不论何时都追求内心平稳的人 不拘泥于胜负 不纠结于烦恼 不树立使我夜不能寐的敌人 这就是我在这社会的生活态度
Follow Me公告
This is my Blog