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()); |
相关推荐
2020-12-15
读取网络图片时遇到的坑
读书越多,越感到腹中空虚。 ——雪莱 今天在使用java读取网络图片的时候遇到一个问题 图片粘贴到浏览器的地址栏上可以打开 但使用java读取就报400 最后发现原来是url编码问题 把url中的中文、空格或者特殊字符之类的转换一下就好了 1java.net.URLEncoder.encode("www.阿超.com", "utf-8")
2021-08-16
实用API设计案例
艺术生永远不要把学技巧放在第一位,而要把怎么思考放在第一位。——灵遁者 今天为了偷懒,写了两个函数 1234567891011121314151617/** * AR模式in查询 * * @param page 分页参数 * @param ids ids * @param type Class * @return com.baomidou.mybatisplus.extension.plugins.pagination.Page<T> * @author <achao1441470436@gmail.com> * @since 2021/8/16 16:21 */@SneakyThrowspublic static <T extends BaseEntity<T>> IPage<T> selectPageByIds(IPage<T> page, List<?> ids, Class<T> type) { if (ids.isEmpty()) { ...
2021-03-05
避免list中remove导致ConcurrentModificationException
凡不是就着泪水吃过面包的人是不懂得人生之味的人——歌德 我们在list循环中调用remove函数删除自身元素可能会导致java.util.ConcurrentModificationException 例如 1234// 构造从0到20的listList<Integer> list = Stream.iterate(0, i -> ++i).limit(20).collect(Collectors.toList());// 删除list.forEach(list::remove); 首先我们可以使用removeIf代替 1list.removeIf(i -> i.equals(i)); 其次我们可以使用迭代器 我们可以看到removeIf的源码正是使用了迭代器 如下 12345Iterator<Integer> iterator = list.iterator();while (iterator.hasNext()) { Integer nowNumber = iterator.next(); iterator....
2021-02-28
quartz指定时间点触发
国家用人,当以德为本,才艺为末。——康熙 之前写过一篇Quartz的博客 今天做一点补充 如果我们需要指定时间点触发任务,则可以使用 123// 指定时间点触发Date executeDate = new Date(System.currentTimeMillis() + 5000);TriggerBuilder.newTrigger().startAt(executeDate).withIdentity("achao", "ruben").build(); 这样去构建 这样,我们的任务就会在指定的时间点触发
2023-01-24
spring caching
凡事必须要有统一和决断,因此,胜利不站在智慧的一方,而站在自信的一方。——拿破仑 官方文档:https://spring.io/guides/gs/caching/ 引入依赖: 1234<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-cache</artifactId></dependency> 准备一个Book类 12345678910111213141516171819202122232425262728293031323334package com.example.caching;public class Book { private String isbn; private String title; public Book(String isbn, String title) { this.isbn = isbn; ...
2022-03-08
注解支持@Alias同步值
你最可爱,我说时来不及思索。但思索之后,还是这样说。——普希金《你多么可爱》 首先是这个issue:希望AnnotationUtil增加对@AliasFor的支持 然后我就提交了这个PR:提供AnnotationUtil#getAnnotationAlias,为@Alias注解做别名支持的适配 代码如下(找不到方法可以去看hutool源码): 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152import cn.hutool.core.exceptions.UtilException;import cn.hutool.core.util.ArrayUtil;import cn.hutool.core.util.ObjectUtil;import cn.hutool.core.util.ReflectUtil;import cn.hutool.core.util.StrUtil;import java.lang.annotation.Ann...

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