C$JAVA Configuration Variables

ACUCOBOL-GT includes several configuration variables for calling Java via the C$JAVA routine.

Configuration Variable Purpose
PRELOAD_JAVA_LIBRARY Tells the runtime to preload the JVM on startup
JAVA_LIBRARY_NAME Specifies the name and path of the JVM library to load
JAVA_OPTIONS Specifies Java command-line options
A_JAVA_TRACE_FILENAME      Names the file where you want to store JVM call trace information
A_JAVA_TRACE_VALUE Specifies the types of calls to trace
A_JAVA_GC_COUNT Specifies how often the runtime should call the JVM garbage collector
A_JAVA_CHARSET Specifies the character set that the runtime should use when mapping Java strings or PIC X data items containing characters outside of the ISO-8859-1 range. The default setting is "IS0-8859-1".

All of these variables are optional. If desired, you include them in your runtime configuration file, just as you would any ACUCOBOL-GT configuration variable. See Configuration Variables for details on using these variables.

For Java interoperability, your configuration file may look like this:

PRELOAD_JAVA_LIBRARY=1
JAVA_LIBRARY_NAME=jvm.dll (libjvm.so unix) 
JAVA_OPTIONS="-Djava.library.path="c:\usr\lib" -Xms128m -Xmx128m -classpath /java/MyClasses/myclasses.jar"

Note that both CLASSPATH (java.class.path system property) and the java.library.path must be configured in order for C$JAVA to locate the Java class to run. The CLASSPATH is the location of ".jar" or ".class" files. The java.library.path is the location DLLs or shared objects that are required either by the runtime or by the Java Virtual Machine (JVM).

You can set these properties using the JAVA_OPTIONS variable. This is the first place that the runtime looks when trying to call Java from COBOL. If you prefer, you can set them in the environment: