Насколько я понимаю, OSGi-сервисы можно отменить в любое время, в том числе, когда они используются.
Рассмотрим службу OSGi, которая внутренне выполняет длительный вызов JNI. И пока этот вызов JNI выполняется, OSGi отменяет регистрацию службы.
Будет ли вызов JNI разрешен для завершения или прерван на полпути? Что, если бы это был обычный долгий Java-вызов, не относящийся к jni? Будет ли этому вызову разрешено завершить выполнение или OSGi немедленно завершит все и отменит регистрацию?
Каково ожидаемое поведение в таком случае? Зависит ли ожидаемое поведение от того, была ли служба загружена с помощью «трекера» или нет?
SG