java - 强制spring只使用一个连接进行事务
问题描述
我有一个在事务方法中使用多个连接的 spring(3.2.15 版)应用程序。
我的用例是:
- 调用事务方法(打开一个连接)
- 查询实体(打开和关闭另一个连接)
- 坚持实体
- 方法结束(关闭第一个连接)
问题是我的连接数量有限,我需要确保每个事务方法只使用一个连接。这个问题导致我的应用程序出现死锁,因为打开的事务比可用的连接数多得多。
有什么方法可以使用与 spring 相同的连接来维护我的方法上的事务?我已经 hibernate.connection.release_mode
在after_statement
mode 下尝试过 hibernate 选项,但是当 hibernate 尝试提交事务时出现错误。
我已经阅读了 spring 事务文档,但我无法弄清楚如何配置 spring 以这种方式运行。
解决方案
推荐阅读
- angular - 从 Angular 8 的库中导入所有类
- python - ValueError:未知的损失函数:使用我的自定义损失函数加载模型时的focal_loss_fixed
- javascript - 从对象数组构建列表未捕获类型错误:无法读取 null 的属性“appendChild”
- spring-data-jpa - Spring JPA Entities:Ignite错误、LAZY fetching、too-m相关问题,最小化数据库使用和使用Ignite
- python - 在不同版本中使用 pyplot 总是会产生“TypeError: 'numpy.float64' object is not callable”
- c++ - C++ 程序给出了太多参数警告
- php - Memcached 无论如何都会在 300 秒后过期
- c++ - 我需要声明一个包含整数向量的 4x4 矩阵
- reactjs - React 应用程序突然停止(在开发和生产中)
- mongodb - 仅当文档在 MongoDB 中更新时才更新字段