2015-06-18 45 views
-1

我正在使用Hikari連接池管理器來查詢AS400計算機中的某些表。Hikari連接和活動AS400作業

我已經設置了最少1個連接池連接,最多10個。我正在同時查詢5個表。

的問題是,儘管使用HikariDataSource的getConnection()查詢和每個查詢後使用連接的close()方法之前方法,當我去WRKACTJOB我看到10個職位,每個連接大概是一個直到達到最大連接池連接。

如何清除未使用的連接\作業?

謝謝

+0

連接已打開。這就是連接池的功能。 –

+0

不,我想要在連接關閉後從連接池中刪除連接。在查詢表時,我不介意有10個連接。我想要的是在查詢後刪除了那些連接 – RedEagle

+1

沒有看到你的WRKACTJOB結果的副本,很難確定任何事情。 (屏幕文字比屏幕圖像更好。)從你問題中的最小細節,聽起來就像所有事情都應該如此。連接確實需要「工作」;但看到工作仍然不意味着存在任何聯繫。通常情況下,網站不會因爲連接關閉而導致作業結束。其他連接可能會重複使用作業,因此完全的作業開始/作業結束不會僅僅因爲請求連接而發生。 – user2338816

回答

2

連接池的意義在於消除建立與數據庫連接的開銷。它通過維護一個經常活動的連接池來做到這一點,隨時可以使用。

如果您的工作負載是長時間沒有活動的「spikey」,但偶爾會有很多活動,我建議設置一個idleTimeout,例如1分鐘(60000ms)。如果您也將minimumIdle設置爲0,那麼在您的週期性工作負載完成後,連接將在大約一分鐘內全部關閉。

3

我希望連接從連接池中移除連接關閉後...我想查詢後刪除這些連接。

我明白了。不要使用連接池。按照設計,連接池將保留一個開放(和可用)的池(Connection(s))。對於您想要的行爲,請使用常規的未混合DataSource