A long standing problem with PyLucene and JCC has been the crash one gets
when forgetting to call initVM() to boot the embedded Java VM.
After thinking about this some more, it became clear that a Java VM without
classes is not very useful and that hence a good place to put a
is-there-a-vm-yet check would be in the one place that finds java classes,
the one place one must at least go through once, JCCEnv's findClass method.
In rev 755707, I checked in an implementation of this. Getting this to work
was not exactly trivial as JCC generated lots of unprotected
initializeClass() calls.
I hope I found them all. Please try the latest out and let me know if you
can get it to crash without initVM() being called.
>>> import lucene
>>> lucene.Document()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
RuntimeError: initVM() must be called first
If this checks out OK, given that we haven't yet received the required three
PMC votes to issue an official release, I'm ready to upload an RC5 into the
staging area.
Thanks !
Andi..