spring-state-machine的action踩坑
发表于|更新于
|浏览量:
善则称人,过则称己,则民不争。——佚名
今天在状态机的action里进行事件触发,发现并没有触发
这是因为在action触发后,state才会进行更改,而不是在state触发后。。。
例如此处我们在action的execute打断点:

可以看到还没有更改状态
如果需要在state触发以后紧接着触发event,则可以放到拦截器里spring-state-machine拦截器处理
相关推荐
2021-04-03
mybatis-plus逻辑删除简单实现
1 人生不是一支短短的烛炬,而是一只由我们暂时拿着的火把;我们一要把它燃得十分光明辉煌,然后交给下一代的人们。——(英)萧伯纳 mybatis-plus配置逻辑删除 我们可以在配置文件中配置 12345mybatis-plus: global-config: db-config: logic-delete-value: 1 # 逻辑已删除值(默认为 1) logic-not-delete-value: 0 # 逻辑未删除值(默认为 0) 然后在pojo的删除字段属性加一个@TableLogic注解 然后我们启动测试类 12345@Testpublic void deleteTest() { List<Film> films = filmMapper.selectList(Wrappers.lambdaQuery(Film.builder().build()).last("LIMIT 1")); films.stream().findFirst().map(Film::getFilmId)...
2021-08-07
屏蔽词过滤器
黑发不知勤学早,白首方恨读书迟。 ——颜真卿 我们可能想使用本地配置词库、过滤器的方式去做全局屏蔽词处理 这里针对三种参数情况 1.requestParam传参:http://localhost:8080/test?keywords=屏蔽词2号 2.requestBody传参:请求体内传json格式的数据,请求头的Content-Type为application/json 3.pathvariable传参:http://localhost:8080/test/屏蔽词3号 这三种应该概括了绝大多数情况下参数传递与接收 代码如下: 首先是过滤器 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394package com.ruben.simplescaffold.filter;im...
2021-06-09
为什么总说不要循环调用dao
我要让全世界都记住我的温柔。——曼德拉 上次咱们测试过了单表多次查询和连表一次查询的性能比较 这次咱们又抽了点时间进行了一次 循坏调用dao查询性能测试 同样是那一百万条数据,最后测试结果出乎意料 123456789101112131415@Testpublic void cycleTest() { long startTime = System.nanoTime(); List<Film> films = filmMapper.selectList(Wrappers.lambdaQuery()); List<Map<String, Object>> collect = films.stream().map(film -> { Language language = languageMapper.selectById(film.getLanguageId()); Language language1 = languageMapper.selectById(film.ge...
2021-06-17
字符和Ascii码的互转
对我们帮助最大的,并不是朋友们的实际帮助,而是我们坚信得到他们的帮助的信念。——伊壁鸠鲁 我们可以使用多种方式去获取一个字符的ascii码 1234System.out.println(new Character('A').hashCode());System.out.println(Character.hashCode('A'));System.out.println((int) 'A');System.out.println((int) new Character('A')); 也可以反过来通过ascii码获取对应的字符 1234System.out.println((char) 65);System.out.println(new Character((char) 65));System.out.println((Character) (char) 65);System.out.println((Character) (char) (int) new Integer(65)); 其实...
2020-11-22
set取交集、并集、差集
蜡烛的美是绝唱的美,它以自焚的痛苦将自己化为光和热,照亮了别人。——鲁迅 123456789101112131415HashSet<String> hashSet = new HashSet<>(Arrays.asList("0", "1", "2"));HashSet<String> hashSet2 = new HashSet<>(Arrays.asList("1", "2", "3"));// 取交集hashSet.retainAll(hashSet2);hashSet.forEach(System.out::println);System.out.println();HashSet<String> hashSet3 = new HashSet<>(Arrays.asList("0", "1", "2"));// 取并集h...
2025-09-10
Stirling-PDF
卑鄙是卑鄙者的通行证,高尚是高尚者的墓志铭。——北岛 https://github.com/Stirling-Tools/Stirling-PDF Stirling-PDF:本地部署的全能PDF工具箱,开源PDF神器体验在数字办公和文件处理的世界里,PDF格式可谓无处不在。但你是否曾为PDF拆分、合并、加密、转换等“杂事”头疼?有没有想过,有一款完全本地部署、功能极其丰富且开源免费的PDF管理平台帮你一站式解决所有问题?今天就带你走进 Stirling-PDF —— 这款风靡全球的开源PDF神器。 项目定位:本地部署,安全高效,极致自由Stirling-PDF 的定位非常清晰:本地部署的网页PDF操作平台。你可以在自己的电脑或服务器上,通过Web界面对PDF文件进行各种操作,所有文件只在本地处理,最大程度保障数据安全和隐私。 “#1 Locally hosted web application that allows you to perform various operations on PDF files” 支持 Docker 极速部署,跨平台兼容,无论你是个人、企业...
