如果没有收到数据库对提交的响应会发生什么?

问题描述 投票:0回答:1

如果我有

@Transaction
的方法(具有默认隔离级别),并且毕竟它将
commit
发送到数据库,数据库设置事务对其他人可见并将响应发送回给我,但网络滞后并且我收到超时。会发生什么?交易会回滚吗?

database postgresql transactions spring-jdbc spring-transactions
1个回答
0
投票

根据Spring框架的第十七章事务管理,一般情况下,如果事务超时,就会回滚。

在使用 Spring 配合 Postgresql 数据库的情况下,使用带有超时参数的

@Transactional
注解时,如果数据库操作时间超过指定的超时时间,将会抛出
TransactionTimedOutException
,并且事务将被终止回滚了。

我还推荐这篇文章,因为它深入探讨了超时的工作原理。

© www.soinside.com 2019 - 2024. All rights reserved.