Working with native libraries
When the Java virtual machine (JVM) executes a Java application that requires a native library through the Java native interface (JNI), the JVM must load the native library exactly once. This library (exposed to the Java layer by JNI) remains available as long as the JVM process is active. If a different Java application using the same native library executes on the same JVM process, it tries to load the native library again. Because the library is already loaded, an exception is generated.
The JNI developer must make sure this native library is loaded exactly once and must handle the exception if the same library is asked to be loaded again.
The BMC Remedy AR System Java API does not use the JNI layer to connect to the BMC Remedy AR System 7.5 (or above) server. However, the JNI layer is still used to connect to pre-7.5 versions of the server.