Кстати, по моему опыту, UnsatisfiedLinkError выбрасывается при редеплое приложения. При попытке повторно загрузить .so JVM обнаруживает, что он связан с другим классом, отсюда ошибка. Пока что мне эту проблему решить не удалось.
Ну ещё в таких случаях ресурсы текут часто. И треды-то лучше не создавать, если используется сервлет-контейнер или аппсервер, а с jni связываться — тем более. Часто можно отделить этот «кусок» в отдельный микросервис и спать спокойно.
Использование Java native library на серверах приложений