2013-01-14 54 views

回答

1

恐怕没有。

Lucene给你IndexSearcher,IndexReaderIndexWriter。不关闭它们中的任何一个都会导致文件描述符泄漏,而且几乎没有办法解决它。虽然有几种技术:

  1. 使用SearcherManager。但是,这仍然需要拨打manager.release(s),不适用于作家/读者。
  2. 扩展这些类并将.close()调用放入终结器中。是的,我知道它很脏。但它的作品!
  3. 如果您使用的是Java 7,则可以扩展这些类并实现AutoCloseable并在try-with-resources语句中使用它们,以便自动进行关闭。理想情况下,所有这些类应自己实现AutoCloseable,并希望他们将Lucene切换到Java 7时。
相关问题