spring - 当表用作队列时了解@Transactional
问题描述
我有一个如下所示的表格:
id | task | status
--------------------------
1 | xxxx | done
2 | xxxx | in_progress
3 | xxxx | in_progress
4 | xxxx | in_progress
5 | xxxx | todo
我们有内置在 spring-boot/JPA 中的处理程序。
第一个处理程序从上表中提取一些记录(在 todo 中)并将它们标记为 in_progress。
然后第二个处理程序从上表中提取更多记录(在 todo 中)并将它们标记为 in_progress。
即使第一个处理程序没有完成将它们标记为 in_progress,第二个处理程序也可能会提取待办事项记录。
我已经将 Transaction 用于全有或全无的方法。
@Transactional
注释(或事务)会解决这样的问题吗?如果不是,可以使用 Spring/JPA(而不是使用外部队列)解决此问题的方法是什么。
解决方案
推荐阅读
- python - 子进程的 Python 替代方法
- android - Android Studio 可以很好地构建应用程序,但它在模拟器/设备上崩溃
- c++ - 如何将函数集合传递给客户端类以将它们用作客户端类本身的成员?
- python - 使用 x 轴格式绘制区域图
- java - Java 中的异步文件 NIO 有什么好处?
- excel - Excel 数据透视表列出重复条目(不计算它们)
- html - Angular 8,Typescript - 单击按钮以显示那些无效/必填字段后如何获取表单中所有无效元素的列表
- python - Python:char的位置= word[i]
- c - 何时使用指针参数检查函数内部的 nullptr?
- asp.net-core - Identity Server 4 登录现有数据库