JavaTM Remote Method Invocation Specification

JavaTM Remote Method Invocation (RMI) is a distributed object model for the Java language that retains the semantics of the Java object model, making distributed objects easy to implement and to use. The system combines aspects of the Modula-3 Network Objects system and Spring's subcontract and includes some novel features made possible by Java..
Revision 1.50, JDK 1.2, October 1998

1 Introduction

1.1 Background
1.2 System Goals

2 Java Distributed Object Model

2.1 Distributed Object Applications
2.2 Definition of Terms
2.3 The Distributed and Nondistributed Models Contrasted
2.4 Overview of RMI Interfaces and Classes
2.5 Implementing a Remote Interface
2.6 Parameter Passing in Remote Method Invocation
2.7 Locating Remote Objects

3 RMI System Overview

3.1 Stubs and Skeletons
3.2 Thread Usage in Remote Method Invocations
3.3 Garbage Collection of Remote Objects
3.4 Dynamic Class Loading
3.5 RMI Through Firewalls Via Proxies

4 Client Interfaces

4.1 The Remote Interface
4.2 The RemoteException Class
4.3 The Naming Class

5 Server Interfaces

5.1 The RemoteObject Class
5.2 The RemoteServer Class
5.3 The UnicastRemoteObject Class
5.4 The Unreferenced Interface
5.5 The RMISecurityManager Class
5.6 The RMIClassLoader Class
5.7 The LoaderHandler Interface
5.8 RMI Socket Factories
5.9 The RMIFailureHandler Interface
5.10 The LogStream Class
5.11 Stub and Skeleton Compiler

6 Registry Interfaces

6.1 The Registry Interface
6.2 The LocateRegistry Class
6.3 The RegistryHandler Interface

7 Remote Object Activation

7.1 Overview
7.2 Activation Protocol
7.3 Implementation Model for an "Activatable" Remote Object
7.4 Activation Interfaces

8 Stub/Skeleton Interfaces

8.1 The RemoteStub Class
8.2 The RemoteCall Interface
8.3 The RemoteRef Interface
8.4 The ServerRef Interface
8.5 The Skeleton Interface
8.6 The Operation Class

9 Garbage Collector Interfaces

9.1 The Interface DGC
9.2 The Lease Class
9.3 The ObjID Class
9.4 The UID Class
9.5 The VMID Class

10 RMI Wire Protocol

10.1 Overview
10.2 RMI Transport Protocol
10.3 RMI's Use of Object Serialization Protocol
10.4 RMI's Use of HTTP POST Protocol
10.5 Application Specific Values for RMI
10.6 RMI's Multiplexing Protocol

A Exceptions In RMI

A.1 Exceptions During Remote Object Export
A.2 Exceptions During RMI Call
A.3 Exceptions or Errors During Return
A.4 Naming Exceptions
A.5 Activation Exceptions
A.6 Other Exceptions

B Properties In RMI

B.1 Server Properties
B.2 Activation Properties
B.3 Other Properties

Copyright © 1997-1998 Sun Microsystems, Inc. All Rights Reserved.