Image

Imagejonny81 wrote in Imageru_java

Category:

JNI_CreateJavaVM

Разбираюсь с "The Invocation API". Стоит задача создания нескольких JavaVM в одном процессе с использование JNI.
Конкретно сейчас пытаюсь это сделать последовательно JNI_CreateJavaVM -> JNI_DestroyJavaVM() -> JNI_CreateJavaVM -> ...
Каждая отдельная итерация JNI_CreateJavaVM -> JNI_DestroyJavaVM() вызывается в свежесозданном потоке (треде). После этого поток завершает работу (убивается) и запускается вторая итерация. На второй итерации JNI_CreateJavaVM отваливается с ошибкой.

The Invocation API
http://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/invocation.html

Судя по документации это работать должно, но не работает :)

Может кто-то пояснить где засада?

p.s. В документации о закрытии VM имеется фраза "The VM waits until the current thread is the only non-daemon user thread before it actually unloads.", не могу понять что они имеют ввиду.

p.s. windows 7, jdk7