Module java.rmi

Interface ActivationInstantiator

All Superinterfaces:
Remote
All Known Implementing Classes:
ActivationGroup, ActivationGroup_Stub

public interface ActivationInstantiator
extends Remote
An ActivationInstantiator is responsible for creating instances of "activatable" objects. A concrete subclass of ActivationGroup implements the newInstance method to handle creating objects within the group.
Since:
1.2
See Also:
ActivationGroup
  • Method Summary

    Modifier and Type Method Description
    MarshalledObject<? extends Remote> newInstance​(ActivationID id, ActivationDesc desc)
    The activator calls an instantiator's newInstance method in order to recreate in that group an object with the activation identifier, id, and descriptor, desc.
  • Method Details

    • newInstance

      The activator calls an instantiator's newInstance method in order to recreate in that group an object with the activation identifier, id, and descriptor, desc. The instantiator is responsible for:
      • determining the class for the object using the descriptor's getClassName method,
      • loading the class from the code location obtained from the descriptor (using the getLocation method),
      • creating an instance of the class by invoking the special "activation" constructor of the object's class that takes two arguments: the object's ActivationID, and the MarshalledObject containing object specific initialization data, and
      • returning a MarshalledObject containing the stub for the remote object it created.

      In order for activation to be successful, one of the following requirements must be met, otherwise ActivationException is thrown:

      • The class to be activated and the special activation constructor are both public, and the class resides in a package that is exported to at least the java.rmi module; or
      • The class to be activated resides in a package that is open to at least the java.rmi module.

      Parameters:
      id - the object's activation identifier
      desc - the object's descriptor
      Returns:
      a marshalled object containing the serialized representation of remote object's stub
      Throws:
      ActivationException - if object activation fails
      RemoteException - if remote call fails
      Since:
      1.2