2012-07-03 85 views
0

我目前有一個Seam組件在我的會話中。該組件是 ,它擁有一個自定義的「Lucene對象」(私有屬性),它在構造函數中打開Lucene 索引。當我想搜索時,我在會話中使用「Lucene對象」 ,該會話使用已打開的Lucene索引。 所以當我想搜索別的東西時,我仍然可以重新使用已經打開的索引 。關閉Lucene索引的最佳實踐

但是現在,我沒有一些關閉閱讀器的Java邏輯。不應該用 這樣的方法來完成,比如destroy()方法(它被 te JVM調用)? 或者,如果我不手動關閉閱讀器可以嗎?

感謝, 約亨

回答

0

你不應該保持一個Lucene讀者打開超過螺紋長度。不關閉這些閱讀器會讓你遇到你的操作系統的問題。 (你用完文件鎖)

+0

我們目前正在運行一個關閉IndexReader的線程,如果它們沒有被使用超過5分鐘。 –