@transaction(requires_new)的内部细节,它对每个循环的工作原理

时间:2018-06-14 10:47:43

标签: spring-transactions

我已经在很多地方搜索过了解@Transactional中Requires_new的内部实现。我有一个如下代码

@Transactional(
    propagation = Propagation.REQUIRES_NEW)
public void completeTask(){
 forloop(10 times){
   getListOfUsers() // DAO call
   updateUser(user) // method
}
}
@Transactional(
    propagation = Propagation.REQUIRES_NEW)
public void updateUser(User user){
 // updateUser DAO cal
}

在上面, 1)将打开多少个连接,意味着无论何时循环执行相同的连接都将打开(循环大小如10)? 2)或者它将是20个连接因为updateUser()还具有' Requires_new' 3)这些连接将由Spring本身处理。 所以底线是,在上面的代码中是否会发生任何连接泄漏?

请解释一下require_new究竟是如何在内部工作的,以及required和requires_new之间的比较。

由于

0 个答案:

没有答案