An activation descriptor contains the information necessary to
activate an object:
A descriptor registered with the activation system can be used to
recreate/activate the object specified by the descriptor. The
MarshalledObject
in the object's descriptor is passed
as the second argument to the remote object's constructor for
object to use during reinitialization/activation.
Constructor: |
public ActivationDesc(String className,
String location,
MarshalledObject<?> data) throws ActivationException {
this(ActivationGroup.internalCurrentGroupID(),
className, location, data, false);
}
Constructs an object descriptor for an object whose class name
is className , that can be loaded from the
code location and whose initialization
information is data . If this form of the constructor
is used, the groupID defaults to the current id for
ActivationGroup for this VM. All objects with the
same ActivationGroupID are activated in the same VM.
Note that objects specified by a descriptor created with this
constructor will only be activated on demand (by default, the restart
mode is false ). If an activatable object requires restart
services, use one of the ActivationDesc constructors that
takes a boolean parameter, restart .
This constructor will throw ActivationException if
there is no current activation group for this VM. To create an
ActivationGroup use the
ActivationGroup.createGroup method. Parameters:
className - the object's fully package qualified class name
location - the object's code location (from where the class is
loaded)
data - the object's initialization (activation) data contained
in marshalled form.
Throws:
ActivationException - if the current group is nonexistent
- exception:
ActivationException - if the current group is nonexistent
- since:
1.2 -
|
public ActivationDesc(String className,
String location,
MarshalledObject<?> data,
boolean restart) throws ActivationException {
this(ActivationGroup.internalCurrentGroupID(),
className, location, data, restart);
}
Constructs an object descriptor for an object whose class name
is className , that can be loaded from the
code location and whose initialization
information is data . If this form of the constructor
is used, the groupID defaults to the current id for
ActivationGroup for this VM. All objects with the
same ActivationGroupID are activated in the same VM.
This constructor will throw ActivationException if
there is no current activation group for this VM. To create an
ActivationGroup use the
ActivationGroup.createGroup method. Parameters:
className - the object's fully package qualified class name
location - the object's code location (from where the class is
loaded)
data - the object's initialization (activation) data contained
in marshalled form.
restart - if true, the object is restarted (reactivated) when
either the activator is restarted or the object's activation group
is restarted after an unexpected crash; if false, the object is only
activated on demand. Specifying restart to be
true does not force an initial immediate activation of
a newly registered object; initial activation is lazy.
Throws:
ActivationException - if the current group is nonexistent
- exception:
ActivationException - if the current group is nonexistent
- since:
1.2 -
|
public ActivationDesc(ActivationGroupID groupID,
String className,
String location,
MarshalledObject<?> data) {
this(groupID, className, location, data, false);
}
Constructs an object descriptor for an object whose class name
is className that can be loaded from the
code location and whose initialization
information is data . All objects with the same
groupID are activated in the same Java VM.
Note that objects specified by a descriptor created with this
constructor will only be activated on demand (by default, the restart
mode is false ). If an activatable object requires restart
services, use one of the ActivationDesc constructors that
takes a boolean parameter, restart . Parameters:
groupID - the group's identifier (obtained from registering
ActivationSystem.registerGroup method). The group
indicates the VM in which the object should be activated.
className - the object's fully package-qualified class name
location - the object's code location (from where the class is
loaded)
data - the object's initialization (activation) data contained
in marshalled form.
Throws:
IllegalArgumentException - if groupID is null
- exception:
IllegalArgumentException - if groupID is null
- since:
1.2 -
|
public ActivationDesc(ActivationGroupID groupID,
String className,
String location,
MarshalledObject<?> data,
boolean restart) {
if (groupID == null)
throw new IllegalArgumentException("groupID can't be null");
this.groupID = groupID;
this.className = className;
this.location = location;
this.data = data;
this.restart = restart;
}
Constructs an object descriptor for an object whose class name
is className that can be loaded from the
code location and whose initialization
information is data . All objects with the same
groupID are activated in the same Java VM. Parameters:
groupID - the group's identifier (obtained from registering
ActivationSystem.registerGroup method). The group
indicates the VM in which the object should be activated.
className - the object's fully package-qualified class name
location - the object's code location (from where the class is
loaded)
data - the object's initialization (activation) data contained
in marshalled form.
restart - if true, the object is restarted (reactivated) when
either the activator is restarted or the object's activation group
is restarted after an unexpected crash; if false, the object is only
activated on demand. Specifying restart to be
true does not force an initial immediate activation of
a newly registered object; initial activation is lazy.
Throws:
IllegalArgumentException - if groupID is null
- exception:
IllegalArgumentException - if groupID is null
- since:
1.2 -
|
Method from java.rmi.activation.ActivationDesc Detail: |
public boolean equals(Object obj) {
if (obj instanceof ActivationDesc) {
ActivationDesc desc = (ActivationDesc) obj;
return
((groupID == null ? desc.groupID == null :
groupID.equals(desc.groupID)) &&
(className == null ? desc.className == null :
className.equals(desc.className)) &&
(location == null ? desc.location == null:
location.equals(desc.location)) &&
(data == null ? desc.data == null :
data.equals(desc.data)) &&
(restart == desc.restart));
} else {
return false;
}
}
Compares two activation descriptors for content equality. |
public String getClassName() {
return className;
}
Returns the class name for the object specified by this
descriptor. |
public MarshalledObject<?> getData() {
return data;
}
Returns a "marshalled object" containing intialization/activation
data for the object specified by this descriptor. |
public ActivationGroupID getGroupID() {
return groupID;
}
Returns the group identifier for the object specified by this
descriptor. A group provides a way to aggregate objects into a
single Java virtual machine. RMI creates/activates objects with
the same groupID in the same virtual machine. |
public String getLocation() {
return location;
}
Returns the code location for the object specified by
this descriptor. |
public boolean getRestartMode() {
return restart;
}
Returns the "restart" mode of the object associated with
this activation descriptor. |
public int hashCode() {
return ((location == null
? 0
: location.hashCode() < < 24) ^
(groupID == null
? 0
: groupID.hashCode() < < 16) ^
(className == null
? 0
: className.hashCode() < < 9) ^
(data == null
? 0
: data.hashCode() < < 1) ^
(restart
? 1
: 0));
}
Return the same hashCode for similar ActivationDesc s. |