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-09-28
springboot动态配置
耐心和持久胜过激烈和狂热——拉封丹 分享一个springboot动态配置框架:https://github.com/Code2Life/spring-boot-dynamic-config 在一些场景下可以用到热更新配置 轻量方便,简单好用 GAV 12345<dependency> <groupId>top.code2life</groupId> <artifactId>spring-boot-dynamic-config</artifactId> <version>1.0.9</version></dependency> 添加注解:@DynamicConfig 以及@Value 1234567891011121314151617181920212223242526272829303132333435import lombok.Data;import org.springframework.beans.factory.annotation.Value;impor...
2025-06-08
Dinky
教师的生命是从教师职业开始的,教师在自己的职业中和工作要求中寻求生活的满足。——第斯多惠 https://github.com/DataLinkDC/dinky https://www.dinky.org.cn/ Dinky:实时流数据开发与应用的开源平台在实时流处理领域,如何高效地开发、调试、管理和运行流数据任务一直是开发者面临的重要挑战。为了解决这些问题,Dinky 提供了一个一站式的实时流数据开发与应用平台,致力于简化流处理任务的全生命周期管理。 Dinky 是一个基于 Apache Flink 打造的开源平台,它通过可视化的界面、丰富的功能和高效的工具链,帮助开发者快速构建、调试和部署流数据任务,为实时数据处理提供了强大的支持。 什么是 Dinky?Dinky 是一个开源的实时流数据开发、管理和应用平台,旨在降低流处理任务的开发门槛,同时提升开发效率和任务稳定性。它基于 Apache Flink 构建,提供了一站式的解决方案,包括流任务开发、调试、运维和监控。 Dinky 的主要特点包括: 实时开发:支持交互式的 SQL 开发和调试环境,快速验证流处理逻辑。 任务...
2020-08-12
url怎么传数组
前两天遇到一个奇葩问题,url怎么传数组参数到后端,后端怎么接收 先申明,一般项目中绝不会这么传。。。 其实很简单,前端转换成JSON进行一次Base64加密,后端进行一次Base64解密再从json转换成对象就可以 前端base64加密解密方法: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114//1.加密 var str = '内容'; var base = new Base64(); var result = base.encode(str); document.write(resu...
2021-03-04
springboot文件大小限制
繁枝容易纷纷落,嫩蕊商量细细开。——唐•杜甫 springboot文件大小限制 首先是可以在配置文件中进行配置 1234567spring: servlet: multipart: # 单个文件 max-file-size: 1GB # 一次请求 max-request-size: 1GB 还有,我们也可以在代码中进行配置 123456789@Beanpublic MultipartConfigElement multipartConfigElement() { MultipartConfigFactory factory = new MultipartConfigFactory(); // 单个数据大小 factory.setMaxFileSize(DataSize.of(1, DataUnit.GIGABYTES)); // 总上传数据大小 factory.setMaxRequestSize(DataSize.of(1, DataUnit.GIGABYTES)); return...
2021-02-28
quartz指定时间点触发
国家用人,当以德为本,才艺为末。——康熙 之前写过一篇Quartz的博客 今天做一点补充 如果我们需要指定时间点触发任务,则可以使用 123// 指定时间点触发Date executeDate = new Date(System.currentTimeMillis() + 5000);TriggerBuilder.newTrigger().startAt(executeDate).withIdentity("achao", "ruben").build(); 这样去构建 这样,我们的任务就会在指定的时间点触发
2023-08-14
java-diff-utils
谁终将声震人间,必长久深自缄默;谁终将点燃闪电,必长久如云漂泊。——尼采 https://github.com/java-diff-utils/java-diff-utils Diff Utils库是一个开源库,用于在文本或某种数据之间执行比较/差异操作:计算差异,应用补丁,生成统一差异或解析它们,生成差异输出以便将来显示(如并排视图)等。 例如: 123456789101112131415//create a configured DiffRowGeneratorDiffRowGenerator generator = DiffRowGenerator.create() .showInlineDiffs(true) .mergeOriginalRevised(true) .inlineDiffByWord(true) .oldTag(f -> "~") //introduce markdown style fo...

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