我們在某種程度上使用OpenJPA 2.3.0(在2.2.0之前有相同的問題)連接到WAS環境(8.5)中的DB2數據庫。 我們遇到的問題是,應用程序不斷吃越來越多的內存,直到它最終崩潰。爲什麼我的JDBCBrokerFactory增長
當使用推薦的Memory Analyzer工具時,我們得到一個JDBCBrokerFactory的罪魁禍首。 它有一個ConcurrentHashMap(有16個條目),給定使用數字是對丟失的內存負責。 (最大內存1024M,經過10個小時的靜態但不是太粗糙的加載,這個類負責400M,並且只由MAT指出)
工廠類由環境(org.springframework.orm。 jpa.SharedEntityManagerCreator和com.volvo.jvs.runtime.springutils.SpringContextBootstrapper)對我來說並不令人意外,但我希望這個類不會增長,或者至少在需要時縮小。 (在JPA 2.2.0中有更多的類保留這個類,但仍然沒有「我們」的類)
當然這個類不是我們交互的類之一(OpenJPA實現的內部),它使它很難看到我們在使用JPA時犯錯。
任何想法或提示,我們可以改善,以限制從JDBCBrokerFactory的破壞將非常感激。
/馬丁
我們不手動管理任何連接,對於我們使用JPA的自定義查詢,所以我們沒有任何可以關閉的東西。 希望我們的JPA-xml配置是有序的,我們也不會在這裏做很多花哨的東西。 – 2014-09-04 11:22:04