The Java Native Interface (JNI) compiler is a command line tool that can generate:
C++ proxies for accessing Java classes and interfaces, which are more productive and less error prone than direct JNI calls.
C++ classes for implementing Java native methods, which are more efficient than IDL-based component calls from Java to C++ or vice versa.
You may want to use the JNI compiler:
For developing C++ clients that talk to EJB components or JMS using the EJB/JMS client runtime features (for example, data compression), which are not available in the CORBA C++ client runtime.
To call legacy C/C++ code from your components, and you would rather write EJBs with a few native methods than write CORBA C++ components.
See Chapter 13, “JNI Compiler,” in the EAServer System Administration Guide.