Class RemoteFileManager

  • All Implemented Interfaces:
    java.rmi.Remote, FileManager, Createable

    public class RemoteFileManager
    extends FileManagerImpl
    An object of this class can serve as a FileManager for remote FileBackedDictionary instantiations using RMI. This class also contains utility routines to publish a RemoteFileManager for remote use, and to lookup a remote one for local use.

    To make a RemoteFileManager available to remote clients:

       System.setSecurityManager(new RMISecurityManager());
       LocateRegistry.createRegistry(Registry.REGISTRY_PORT);
       new RemoteFileManager().bind();
     

    To create a local Dictionary backed by a remote RemoteFileManager:

       Dictionary dictionary = new FileBackedDictionary(RemoteFileManager.lookup(hostname));
     
    • Field Detail

      • BINDING_NAME

        public static final java.lang.String BINDING_NAME
        The standard RMI binding name.
        See Also:
        Constant Field Values
    • Constructor Detail

      • RemoteFileManager

        public RemoteFileManager​(java.lang.String searchDir,
                                 java.lang.Class dictionaryFileType)
                          throws java.io.IOException,
                                 java.rmi.RemoteException
        Construct a file manager backed by a set of files contained in the default WN search directory. See FileManagerImpl for a description of the default search directory.
        Throws:
        java.rmi.RemoteException - If remote operation failed.
        java.io.IOException
    • Method Detail

      • bind

        public void bind()
                  throws java.rmi.RemoteException,
                         java.rmi.AlreadyBoundException
        Bind this object to the value of BINDING_NAME in the local RMI registry.
        Throws:
        java.rmi.AlreadyBoundException - If BINDING_NAME is already bound.
        java.rmi.RemoteException - If remote operation failed.
      • lookup

        public static FileManager lookup​(java.lang.String hostname)
                                  throws java.rmi.AccessException,
                                         java.rmi.NotBoundException,
                                         java.rmi.RemoteException,
                                         java.rmi.UnknownHostException
        Lookup the object bound to the value of BINDING_NAME in the RMI registry on the host named by hostname
        Returns:
        An RMI proxy of type FileManager.
        Throws:
        java.rmi.AccessException - If this operation is not permitted.
        java.rmi.NotBoundException - If there is no object named BINDING_NAME in the remote registry.
        java.rmi.RemoteException - If remote operation failed.
        java.rmi.UnknownHostException - If the host could not be located.