Когда я запускаю пример Java OpenDDS-3.14.1/java/tests/messenger, я получаю множество сообщений, подобных этому:
ПРЕДУПРЕЖДЕНИЕ в собственном методе: вызов JNI выполняется без проверки исключений, когда это требуется от CallStaticObjectMethodV.
Я использую openjdk 11.0.9.1 2020-11-04 LTS на Mac. Но такие же предупреждения я получаю в Linux.
Это просто плохо обработано в примере?
Или это плохо обрабатывается в DDS-Java-Wrapper?
Я должен сообщить, что я еще не читал документацию разработчика...
JNI — это то, что позволяет Java и собственному коду C++ взаимодействовать друг с другом. Код JNI OpenDDS не проверяет исключения Java, как должен, и именно об этом предупреждения. Они появляются во всех тестах Java, которые я вижу, но, видимо, игнорируются системой, которая сообщает об ошибках и предупреждениях. Я думаю, что они возникают потому, что -Xcheck:jni является одним из java-аргументов в тестовом скриптовом фреймворке. Поэтому, если вы удалите этот аргумент файла, который я связал или запустил java
напрямую без этого аргумента, предупреждений не должно быть.