我正在使用spring启动并通过jpa使用tomcat连接池进行休眠。你能帮我理解春天在交易过程中如何使用数据库连接。例如,考虑以下情况:春季交易边界和数据库连接控股
- 我们有2个连接的DB连接池。
- Spring启动一个事务,即使用@Transactional注解修饰的调用方法。
- 这种方法做一个DB更新
- 的调用外部服务
- 作为响应从外部服务接收,它更新数据库和回报。
- 春季提交事务
假设外部服务(步骤4)需要1分钟才能完成,有多少DB连接将在数据库池?假设Spring在事务完成之前一直保持DB连接,那么在此期间接收到的任何请求将只有1个数据库连接可用,并且如果我们收到多个请求,它们将不得不等待数据库连接。
请确认我的理解,如果它是正确的,建议我如何在高交易量系统中处理这种情况。
感谢