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()); |
相关推荐
2021-03-25
mybatis-plus默认查询方式
从善如登,从恶如崩。一一《国语》 我们在使用mybatis-plus条件构造器默认查询的时候 如果给的实体有值,则会根据实体内的值用对应字段去=查询 就像这样 12mpUserService.list(Wrappers.lambdaQuery(UserPO.builder().username("hino").build()));mpUserMapper.selectList(Wrappers.lambdaQuery(UserPO.builder().username("ruben").build())); 如果我们想要指定默认查询为LIKE 则可以在对应属性上加上注解@TableField并指定condition = SqlCondition.LIKE,就像这样 123456789101112131415161718192021222324252627282930package com.ruben.pojo.po;import com.baomidou.mybatisplus.annotation.*;import com.rube...
2022-05-08
redis队列
日出之美便在于它脱胎于最深的黑暗。——辛夷坞 首先是配置类 分为Redis配置类和Jackson配置类,主要是用于收发消息时序列化 Jackson的 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253package com.ruben.config;import java.text.SimpleDateFormat;import java.time.LocalDate;import java.time.LocalDateTime;import java.time.format.DateTimeFormatter;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.data.redis.serializer.Jack...
2022-03-30
lombok在生成的构造器、方法及参数上生成注解
冷眼观人,冷耳听语,冷情当感,冷心思理。——洪应明《菜根谭》 我们可以在lombok生成的构造器、方法、参数上再附带注解,参考: https://projectlombok.org/features/experimental/onX 例如下面代码: 指定构造器上新增@Autowired、@Lazy(true) getter上新增@Id、 @JsonIgnore(true) setter上新增@NonNull 1234567891011121314151617181920212223package com.ruben.simplescaffold.component;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.annotation.Lazy;import org.springframework.data.annotation.Id;import org.springframework.jdbc.core.JdbcTemplate;...
2023-09-28
通过条件跳过单元测试
散步慌言蜚语的人往往隐瞒自己的身份,狡黠地假托世人名字,比如,“世人说” “国外有一种说法” 等等。——培根 分享一个小技巧,我们可以使用 1Assumptions.assumeTrue(isConnected(), "Redis is not available. Skipping the test."); 在单元测试中判断,不满足条件则跳过测试 例如此处就是判断redis是否已连接,为true则会继续往下执行,为false则会skip
2021-03-31
单表和连表?如何选择?
快乐,使生命得以延续。快乐,是精神和肉体的朝气,是希望和信念,是对自己的现在和来来的信心,是一切都该如此进行的信心。——果戈理 今天做了个小测试啊 我自己造了一百万多条(1029708条)数据 这里测试呢我们首先是编写了一个LEFT JOIN 连表SQL如下 123SELECT *FROM `film` LEFT JOIN `language` ON `film`.language_id = `language`.language_id 我们查询一百万多条后耗时为33457.8317 ms,大约30来秒,这是没有加索引的情况下 我们使用单表查询,然后再拼装 1234567891011long startTime = System.nanoTime();List<Film> films = filmMapper.selectList(Wrappers.lambdaQuery());List<Integer> languageIds = films.parallelStream().map(Film::getLanguageId).d...
2021-10-05
Sa-Token
我相信过,如果怀着愉快的心情谈起悲伤的事情,悲伤就会烟消云散。——高尔基 介绍一个轻量级JWT权限认证框架Sa-Token 官方文档:https://sa-token.dev33.cn/doc/index.html#/ 今天直接试着用了下,感觉还不错,功能比之前的shaun强大 真香~

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