java - Spring @Transactional 和长期运行的业务逻辑
问题描述
我在使用 Spring @Transactional 时遇到了一些问题,希望在这里找到解决方案。我在服务中有一个标记为@Transactional 的方法,它通过调用一个方法来通过HTTP 协议请求数据(我现在使用的是Apache HttpClient),解析响应并将结果写入数据库。由于这一切都在一种方法中运行,我担心这可能会导致交易取消,因为我的项目有交易时间限制,并且来自外部 API 的请求可能真的很长。
在这里,我想知道在这种情况下如何最正确地分离 HTTP 请求+响应解析和数据库操作。作为一种选择,可以有两种方法,一种用于事务,另一种用于其余逻辑,但我已经假设此类任务存在普遍接受的设计模式。
解决方案
推荐阅读
- javascript - firestore < 查询与 orderBy 查询混合
- pytorch - Pytorch 类torch._C.TensorBase 信息?
- python - 如何在 Python 中编写以 '...' 开头和结尾的行?
- sql-server - 使用文件系统添加现有包的副本
- python - 在 Mac、python 2.7.5 上安装 gsutil 时出现致命错误
- r - R:如何根据其他列中的因素向新列添加值
- reactjs - 测试方法 else/if 不返回预期值
- python - 一种热编码 - 如何修复逻辑回归中的列匹配
- css - 可折叠内容的 CSS 网格列灵活
- mysql - 数据库触发器删除条件为真的行: