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
RemoteObjectClass - 5.2 The
RemoteServerClass - 5.3 The
UnicastRemoteObjectClass - 5.4 The
UnreferencedInterface - 5.5 The
RMISecurityManagerClass - 5.6 The
RMIClassLoaderClass - 5.7 The
LoaderHandlerInterface - 5.8 RMI Socket Factories
- 5.9 The
RMIFailureHandlerInterface - 5.10 The
LogStreamClass - 5.11 Stub and Skeleton Compiler
6 Registry Interfaces
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
RemoteStubClass - 8.2 The
RemoteCallInterface - 8.3 The
RemoteRefInterface - 8.4 The
ServerRefInterface - 8.5 The
SkeletonInterface - 8.6 The
OperationClass
9 Garbage Collector Interfaces
- 9.1 The
DGCInterface - 9.2 The
LeaseClass - 9.3 The
ObjIDClass - 9.4 The
UIDClass - 9.5 The
VMIDClass
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