首页 > 解决方案 > 事务传播模式(支持、requires_new 等)如何影响数据库连接池?

问题描述

我有一个 spring boot 应用程序,配置了最大 100 db 连接。

代码 1。

public class Class1
  {
    @Transactional(propagation=REQUIRES_NEW)
    public void service1(){
      new Class2().service2();
    }
  }
  public class Class2
  {
    @Transactional(propagation=REQUIRES_NEW)
    public void service2(){..}
  }

代码 2。

public class Class1
  {
    @Transactional(propagation=REQUIRES_NEW)
    public void service1(){
      new Class2().service2();
    }
  }
  public class Class2
  {
    @Transactional(propagation=SUPPORTS)
    public void service2(){..}
  }

问题。如果只对 service1 进行一次调用,两种情况下使用了多少个 db 连接。CODE1 是使用 2 个 db 连接来执行 service2 事务,还是重用 service1 可用的现有 db 连接?

标签: databasespringconnectionspring-transactions

解决方案


推荐阅读