Hi Jamie,
>  >It's good to cache the reader, but, finalize would worry me too since
>you
> have no control over when GC gets around to calling it... you risk  >tying
up
> resources for longer than necessary.
> 
> I did it this way, as I didn't want to over complicate the code by
introducing
> mechanisms to track the number of search threads using a shared
indexreader.
> Admittedly, its not a very clean solution but in my case it does work. Is
there a
> particular technique for knowing when to a close a reader when there are
> multiple search threads using that reader?
> Should I keep some kind of counter and override the close method of the
> reader such that the underlying reader is only closed when everyone's done
> with it?

The easiest would be an AtomicInteger for each cached reader that gets
incremented before you start a search and decremented on finishing search.
You can safely close the reader, when the integer is 0.

Uwe


---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-user-h...@lucene.apache.org

Reply via email to