RMI and Object Serialization

Prebeta Release Notes

These release notes contain the following sections:

General Notes

  1. This RMI Prebeta release has no expiration date.

  2. This RMI Prebeta release is compatible with:

  3. This RMI Prebeta release requires local installation of the rmi package appropriate for Solaris or Win95/NT.

Browser Support

The Prebeta release of RMI runs in a special version of HotJava. If you use this RMI specific version of HotJava, see the README for important details.

RMI based applets can also be run in the JDK1.0.2 appletviewer.

Since RMI and Object Serialization are part of the JDK core, full support in all Java enabled browsers will be available when each Java licensee incorporates the JDK1.1 release. In the interim, support for Netscape will be available with a soon to be released plug in.

Examples

The RMI Prebeta release ships with two entirely new examples. The first is a distributed version of Hello World, which has an accompanying Getting Started doc that explains the basics of using RMI. The second example is a stock monitoring applet that receives notification when the values of the portfolio change and that demonstrates callbacks from an object exported by the applet.

Changes to the APIs/New Features in RMI

This section lists most of the changes made to the API. For complete API details, see the Remote Method Invocation Specification.

Changes to the APIs/New Features in Object Serialization

RMI through Firewalls via a CGI Program (required under limited conditions)

For a server to support RMI calls from clients behind firewalls that do not foward HTTP requests to arbitrary ports, a CGI program needs to be installed on the server host's default HTTP server (listening on port 80). (Without installion of the CGI program, the server will still support RMI calls from clients behind typical firewalls.)

The CGI program "java-rmi.cgi" is responsible for forwarding HTTP-packaged RMI calls sent to the default HTTP server to be forwarded to an RMI server listening on a port specified in the URL. Specifically, when a POST request is sent with the URL path "/cgi-bin/java-rmi.cgi?forward=", the body of the request will be sent (as another POST request) to the server listening on the specified port (must be >= 1024). The HTTP response from this forwarded request will be the response to the original request.

On Solaris:

Copy the file "$RMIHOME/lib/solaris/java-rmi.cgi" to the directory to which your HTTP server maps the URL path "/cgi-bin". You will need to edit this script to fill in the proper path for the Java interpreter and the RMI classes on the host machine, as noted in the script comments.

On Windows 95/NT:

Copy the file "$RMIHOME/lib/win32/java-rmi.cgi" to the directory to which your HTTP server maps the URL path "/cgi-bin". For this program to execute correctly, the system PATH environment variable must include the directory for the Java interpreter, and the system CLASSPATH variable must include "%RMIHOME%/lib/classes.zip".

Fixed Bugs

Known Limitations and Bugs