The JDK 1.2 is recommended, because this solves a memory problem. With JDK 1.1, some memory will not be garbage collected, which may ultimately cause an OutOfMemoryException to be thrown.
Back to contents.
Configuration files
This distribution of NexusRMI comes with a number of configuration files,
that may require editing before installing.
The first configuration file is config.mk in the nexusrmi directory. This file specifies where the various parts of NexusRMI are to be installed and on what platform (hardware architecture and operating system) the binaries are going to run.
The following variables are set in this configuration file:
In the architecture dependent binary directories (e.g. compiler/bin/sunos) the configuration files for specific binaries are found. Here is the example configuration file for Solaris platforms.
The following variables are set in this configuration file:
Back to contents.
Specifying the JDK version
There are a number of files in the nexusrmi runtime that are JDK version specific.
To allow the coexistence of both the 1.1 and the 1.2 version, they come in two separate
files with the version number included in it and a symbolic link to the current
version. Make sure the symbolic links point to the version of the files that matches
the JDK version that you are planning on using. For instance, if you are planning on
using the JDK 1.2 version, make sure the files for class Nexusize, class
HPCxxNexusize, server.UnicastRemoteObject, and class
server.RMIClassLoader in compiler/runtime/Nexusrmi<version>
look like this before installing:
Nexusize.java -> Nexusize.v12.java
Nexusize.v11.java
Nexusize.v12.java
HPCxxNexusize.java -> HPCxxNexusize.v12.java
HPCxxNexusize.v11.java
HPCxxNexusize.v12.java
server/RMIClassLoader.java -> RMIClassLoader.v12.java
server/RMIClassLoader.v11.java
server/RMIClassLoader.v12.java
server/UnicastRemoteObject.java -> UnicastRemoteObject.v12.java
server/UnicastRemoteObject.v11.java
server/UnicastRemoteObject.v12.java
If you are going to use JDK 1.1, make the symbolic links point to the JDK 1.1 versions instead.
The nexusrmic and the nexusrmis compilers both require the existence of class file binaries for the classes passed to them and all classes directly or indirectly referenced from these classes. This means, that, ultimatly, the Java runtime system classes also need to be available. We have not implemented reading class files from zip- or jar-archives, so you need to unpack these archives in a suitable directory. Since it is not advisable to have the unpacked class files in your CLASSPATH both compilers temporarily include this directory in their CLASSPATH. This means that you have to edit both scripts (nexusrmic and nexusrmis in compiler/bin) to include the directory with the unpacked system class files in their CLASSPATH.Each JDK version has its own collection of system class files, so switching to another JDK version requires the unpacking of the correspondig class files and the modification of these scripts to reflect the version change.
Look in both scripts for a line of the following form:
CLASSPATH=${CLASSPATH}:<some dir>
and replace <some dir> with the directory containing the unpacked class files.
Once NexusRMI is installed, both changes related to the JDK version change can still be performed. In this case, look for UnicastRemoteObject.java and RMIClassLoader.java in RTS_DIR/nexusrmi/server and look for nexusrmic and nexusrmis in BIN_DIR.
Back to contents.
Installation
After having edited the configuration files to your liking, installing
the NexusRMI system is simply a matter of typing 'make' in the nexusrmi
directory.
Back to contents.