2
我正在閱讀約number of concurrent transaction per connection
。每個連接Postgres併發事務
我碰到jdbc.postgresql.org/documentation/91/thread。 它說
如果一個線程試圖在另一個正在使用它使用的連接,它會等到另一個線程完成其當前操作。
因此,基於上述,如果我有1個連接的連接池(使用cp03
) 在一個線程我做的:
start transaction
Read query
sleep for 2 min
commit transaction
然後其他線程不應該能夠運行任何查詢直到第一個線程完成交易爲止......對嗎?
但以我的觀察,我是能有其他線程完成交易,而第一個線程處於休眠狀態
這是爲什麼?我錯過了什麼?
編輯: CP03配置:
<property name="hibernate.connection.provider_class" value="org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider" />
<property name="hibernate.generate_statistics" value="false" />
<property name="hibernate.c3p0.max_size" value="1" />
<property name="hibernate.c3p0.min_size" value="0" />
<property name="hibernate.c3p0.acquire_increment" value="1" />
<property name="hibernate.c3p0.idle_test_period" value="300" />
<property name="hibernate.c3p0.max_statements" value="0" />
<property name="hibernate.c3p0.timeout" value="100" />
想要發佈您的cp03配置 –
@ScaryWombat添加配置 – Bhuvan