2016-09-15 35 views
2

我遵循下面的文章來創建動態JDBC連接。如何終止使用動態JDBC憑證創建的數據庫連接?

How to support dynamic JDBC credentials

我能夠正確地做到這一點,當用戶嘗試登錄與他們的憑證成功創建JDBC連接。

但我也希望這些連接在用戶註銷時終止。我在註銷期間正在執行session.invalidate(),但沒有終止數據庫連接。

即使應用程序未被部署,動態連接也會保留。只有當我停止網絡邏輯服務器時,它們纔會被刪除。 爲應用程序模塊設置的超時不適用於這些連接。如果有辦法在註銷期間關閉這些動態JDBC連接,請幫助我。

我使用JDeveloper 12.2.1

回答

1

在自動進稿器,你不直接管理數據庫連接。應用程序模塊通過引用應用程序服務器提供的數據庫連接池JNDI名稱來管理要使用的連接。

由於創建數據庫連接的成本很高,因此應用服務器(例如WebLogic)會在數據庫連接池中維護一組數據庫連接。當ADF應用程序模塊需要連接時,將從該池獲得一個連接。當用戶結束(ADF)會話時,連接返回到池以供其他會話(重新)使用。您可能希望開始here與解釋這一點的文檔。 WLS文檔將介紹如何管理數據庫連接池。

底線是你不應該在ADF應用程序中以編程方式打開/關閉數據庫連接。