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