5.4.3 WebSphere Application Server-specific JNI native shared object libraries

WebSphere Application Server-specific libraries can be found under the WebSphere Application Server installation directory and the /bin subdirectory, where the startServer.sh script can be found that starts instances.

The shared objects in this directory reveal how WebSphere Application Server accesses operating system functionality, thus bypassing the JVM. To find out how these are used as JNI objects you can use strings -a to look for the Java_XXXXX entries and determine how each maps to the Java world.

Example 5-42 WebSphere Application Server-specific shared objects listing

# ls -l *.so
-rwxr-xr-x   1 root     system         6556 06 Oct 2006  libgetClasses.so
-rwxr-xr-x   1 root     system        48530 06 Oct 2006  libibmaiodbg.so
-rwxr-xr-x   1 root     system        28317 06 Oct 2006  libibmaio.so
-rwxr-xr-x   1 root     system        60175 06 Oct 2006  libNativeFile.so
-rwxr-xr-x   1 root     system        24472 06 Oct 2006  libpmiJvmpiProfiler.so
-rwxr-xr-x   1 root     system        30381 06 Oct 2006  libpmiJvmtiProfiler.so
-rwxr-xr-x   1 root     system        11860 06 Oct 2006  libSelector.so
-rwxr-xr-x   1 root     system        16250 06 Oct 2006  libSystemData.so
-rwxr-xr-x   1 root     system        21720 06 Oct 2006  libUnixRegistryImpl.so
-rwxr-xr-x   1 root     system        68252 06 Oct 2006  libWs60ProcessManagement.so

Table 5-5 lists the WebSphere Application Server-specific shared objects and functional descriptions.

Table 5-5

Name Java class Functional description
libgetClasses.so com.ibm.ws.classloader.ClassLoaderDump Java Classloader Debug Access
libibmaiodbg.so com.ibm.io.async.AsyncLibrary Asynchronous I/O mapping - Debug Version
libibmaio.so com.ibm.io.async.AsyncLibrary Asynchronous I/O mapping - Normal Version
libNativeFile.so com.ibm.io.file.UnixNativeFile Access to native UNIX file system structures - including /proc file system
libpmiJvmpiProfiler.so com.ibm.ws.pmi.server.jvmpi.JvmpiJni Java JVMPI performance statistics-gathering management
libpmiJvmtiProfiler.so com.ibm.ws.pmi.server.jvmpi.JvmpiJni Java JVMPI/JMTI performance statistics-gathering management. Maps JVMTI data to JVMPI.
libSelector.so com.ibm.ws.orbimpl.transport.JNIReaderThread Object request broker connection management. Important because most J2EE security uses the CORBA CSIv2 functionality and much J2EE internal communication uses CORBA IIOP, so this shows that WebSphere Application Server bypasses JVM sockets functionality for some of the CORBA (and thus, EJB container security) functions and talks directly to AIX networking code.
libSystemData.so com.ibm.ws.pmi.server.system.SystemData General system level performance statistics gathering, that is, CPU and memory stats
libUnixRegistryImpl.so com.ibm.ws.security.registry.unix.UnixRegistryImpl Password file access and UNIX authentication
libWs60ProcessManagement.so com.ibm.ws.process.EnvUtilGlue_native & com.ibm.ws.process.UnixProcessGlue Access the UNIX environment and process management (that is, start and stop).

WebSphere Application Server-specific shared objects