The Java Developers Almanac 1.4


Order this book from Amazon.

   
Home > List of Packages > javax.rmi  [3 examples]

e504. Defining and Exporting a Portable Remote Object

1. Define the remote interface.
    import java.rmi.*;
    
    public interface RObject extends Remote {
        void aMethod() throws RemoteException;
    }
2. Define the portable remote object implementation.
    import java.rmi.*;
    import java.rmi.server.UnicastRemoteObject;
    
    public class RObjectImpl extends UnicastRemoteObject implements RObject {
        public RObjectImpl() throws RemoteException {
            super();
        }
        // All remote methods must throw RemoteException
        public void aMethod() throws RemoteException {
        }
    }
3. Compile the remote object implementation.
    > javac RObject.java RObjectImpl.java
4. Generate the skeletons and stubs.
    
Using RMI over IIOP
    > rmic -iiop RObjectImpl
    
    Using RMI over JRMP
    > rmic RObjectImpl

5. Create an instance of the remote object and bind it to a name service.
    import javax.naming.*;
    import java.rmi.RemoteException;
    
    
    // JRMP: name = "rmi://localhost/RObjectServer";
    // IIOP: name = "iiop://localhost/RObjectServer";
    try {
        RObject robj = new RObjectImpl();
        new InitialContext().bind(name, robj);
    } catch (NamingException e) {
    } catch (RemoteException e) {
    }

 Related Examples
e503. Starting the Name Server
e505. Looking Up a Portable Remote Object and Invoking a Method


© 2002 Addison-Wesley.