2014-06-23 61 views
1

我正在爲多租戶應用奠定基礎。我們在數據庫方面的策略是共享一些模式(屬性,執行和其他非租戶數據),並讓每個租戶都有自己的模式。 (這不是關於該決定的優點的問題)。BoneCP,其他連接池和切換模式的能力

我正在尋找一個連接池,它像Oracles Universal Connection(UCP)池一樣允許我在我檢索的連接上設置模式。爲了討論,我們假設我們將所有模式存儲在一個數據庫集羣中,並且可以通過相同的用戶上下文訪問。我不想使用Oracle的UCP。它有我想要避免的併發問題,我不使用Oracle(而是PostgreSQL)。

理想情況下,我想說'Pool.getConnection(forSchema);'。

我可以在BoneCP之前構建一個包裝來實現這一點,但我希望避免這種情況。

BoneCP目前被我選中,因爲性能是這項工作的特別關注點,所以目前我仍然願意改變這個決定,如果其他連接池本身允許這種行爲。

如果我能用BoneCP做到這一點,那就更好了 - 請照亮我。

預先感謝您。

+0

今天看着HikariCP,它重置了默認的目錄,這是我需要完成的工作的一半。它是一個簡單的事情來包裝池,並確保執行任何語句之前有一個聲明來設置目錄 - 如果尚未在所需的目錄中。 – cmdematos

回答

0

我放棄了BoneCP for HikariCP。滿足所有需求。

+0

可否請您在這裏解釋解決方案。我正在使用postgres並面臨類似的問題,並希望避免數據庫往返只是爲了在連接上設置模式。 – TeeJ