每个堆叠的事务都使用单独的连接吗?

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

我通过使用以下方法调用堆叠方法创建了多个堆叠事务:

@Transactional(propagation = Propagation.REQUIRES_NEW)

所以结果是事务正在等待新事务,正在等待新事务...

这些事务中的每一个是否都使用了连接池中的单独的数据库连接,可能会耗尽连接池?

P.S .:我知道我不应该堆叠新交易,因为错误没有回滚所有交易,但我对此行为感到好奇。

spring hikaricp
1个回答
1
投票

是,当您使用REQUIRES_NEW时,每个方法调用都会获得一个新的事务。新事务意味着正在使用池中的新数据库连接。

是的,这意味着可能会饿死它。

您可能会喜欢这本数据库交易书,以获取更多详细信息,包括许多代码示例:https://www.marcobehler.com/books/1-java-database-connections-transactions

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