我們有一個應用程序使用數據庫的身份驗證,然後將其用於連接。這意味着,當他們登錄到應用程序時,應用程序會嘗試與該數據庫的用戶名/密碼建立連接,並將該連接用於會話。因此,如果Fred使用用戶名「fred」登錄應用程序,那麼數據庫中應該有一個名爲「fred」的用戶,並且Fred在他使用該應用程序時將使用該連接。如何在Wildfly/JBoss中禁用連接池?
我們已經有一個數據源來處理這個數據源,如果我們關閉數據庫連接池,它可以在Glassfish中找到。現在我們想遷移到蜻蜓,但似乎無法得到這個工作。
當應用程序啓動時,它會在Wildfly的數據庫描述符中使用用戶名/密碼運行「初始化」查詢。這正確運行。當我們嘗試登錄時,連接屬於初始化查詢中的用戶。
我試着將min-pool-size和max-pool-size設置爲1,這導致我們的JPA實現拋出「無法獲得託管連接」異常。
以下配置獲取應用程序啓動,但無法登錄,因爲登錄用戶沒有連接上的用戶名匹配:
<pool>
<min-pool-size>1</min-pool-size>
<max-pool-size>2</max-pool-size>
<use-strict-min>true</use-strict-min>
<allow-multiple-users>true</allow-multiple-users>
<prefill>false</prefill>
</pool>
看來,連接池是搞亂我們。有沒有人有任何想法如何關閉池?或者有沒有人有任何想法來解決這個問題?
我不是說這是一個好主意 - 但這是在我的時間早已確定的設計。而且,說實話,這個應用程序上的500個用戶會是很多用戶。 – MikeHoss