2017-06-12 89 views
0

我目前工作的一個應用(其邏輯和代碼,我不能把在這裏) 。Apache Derby的嵌入模式和多線程的連接管理

比方說,嵌入式數據庫的名稱是酒吧和路徑,以這個數據庫是C:\富\酒吧

多個線程打開他們自己的連接C:\ FOO \ bar,並對數據庫中的表執行各自的操作。 連接到數據庫的連接被一個修飾器抽象出來,該修飾器也保持上次訪問連接的時間。 如果上次訪問連接超過特定閾值,數據庫連接將關閉並收割。 有一個收割線程以預定義的時間間隔運行並執行收割邏輯。隨着收割邏輯的一部分,它使用以下關機網址:

jdbc:derby:c:\foo\bar;shutdown=true 

嘗試進行回收線程後執行鍼對該數據庫的查詢任何線程運行失敗,德比錯誤這表明有沒有當前連接。

因此,它是在德比嵌入模式,即使每個線程都打開了它自己的連接;當回收線程運行時,它會關閉整個數據庫和先前對這個數據庫所有線程現在位爲無效或關閉狀態打開任何連接?

什麼是使用這種應用程序中嵌入德比的最佳實踐?

回答