spring propagation_requires_new打开新的hikari连接

时间:2017-02-16 21:31:20

标签: spring hibernate spring-data-jpa hikaricp

我做了一个测试:

--------  Bean A  --------------- 

@Transactional
public void methodA(){
    //some code
    //set or get value in/from DB for example

    otherSpringBean.methodB();
}

--------  Bean B  --------------- 
@Transactional(propagation = Propagation.REQUIRES_NEW)
public void methodB() {

   // some code insert into DB

}

我使用hikaricp作为连接池,我设置了以下hikari params:

min idle = 1 connection
max active = 1 connection

我总是只有一个连接。

当我运行测试时(只需调用methodA()),我会超时(默认为30秒):methodB无法建立连接。

Spring文档说"传播REQUIRES_NEW"

  

创建一个新事务,暂停当前事务(如果有)   存在。

问题:为什么我的第一笔交易没有被暂停?由methodA()打开的交易应暂停,并且methodB()的连接可用。

0 个答案:

没有答案