JavaTM Remote Method Invocation Specification
Java Remote Method Invocation (Java RMI) is a distributed object model for the Java programming language that retains the semantics of the Java platform's 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 the Java SE platform.
Table of Contents
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
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
7 Remote Object Activation
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
DGC
Interface - 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