155 * <code>Activatable.inactive</code> when it deactivates, the
156 * object will never be garbage collected since the group keeps
157 * strong references to the objects it creates.
158 *
159 * <p>The group's <code>inactiveObject</code> method unexports the
160 * remote object from the RMI runtime so that the object can no
161 * longer receive incoming RMI calls. An object will only be unexported
162 * if the object has no pending or executing calls.
163 * The subclass of <code>ActivationGroup</code> must override this
164 * method and unexport the object.
165 *
166 * <p>After removing the object from the RMI runtime, the group
167 * must inform its <code>ActivationMonitor</code> (via the monitor's
168 * <code>inactiveObject</code> method) that the remote object is
169 * not currently active so that the remote object will be
170 * re-activated by the activator upon a subsequent activation
171 * request.
172 *
173 * <p>This method simply informs the group's monitor that the object
174 * is inactive. It is up to the concrete subclass of ActivationGroup
175 * to fulfill the additional requirement of unexporting the object. <p>
176 *
177 * @param id the object's activation identifier
178 * @return true if the object was successfully deactivated; otherwise
179 * returns false.
180 * @exception UnknownObjectException if object is unknown (may already
181 * be inactive)
182 * @exception RemoteException if call informing monitor fails
183 * @exception ActivationException if group is inactive
184 * @since 1.2
185 */
186 public boolean inactiveObject(ActivationID id)
187 throws ActivationException, UnknownObjectException, RemoteException
188 {
189 getMonitor().inactiveObject(id);
190 return true;
191 }
192
193 /**
194 * The group's <code>activeObject</code> method is called when an
195 * object is exported (either by <code>Activatable</code> object
|
155 * <code>Activatable.inactive</code> when it deactivates, the
156 * object will never be garbage collected since the group keeps
157 * strong references to the objects it creates.
158 *
159 * <p>The group's <code>inactiveObject</code> method unexports the
160 * remote object from the RMI runtime so that the object can no
161 * longer receive incoming RMI calls. An object will only be unexported
162 * if the object has no pending or executing calls.
163 * The subclass of <code>ActivationGroup</code> must override this
164 * method and unexport the object.
165 *
166 * <p>After removing the object from the RMI runtime, the group
167 * must inform its <code>ActivationMonitor</code> (via the monitor's
168 * <code>inactiveObject</code> method) that the remote object is
169 * not currently active so that the remote object will be
170 * re-activated by the activator upon a subsequent activation
171 * request.
172 *
173 * <p>This method simply informs the group's monitor that the object
174 * is inactive. It is up to the concrete subclass of ActivationGroup
175 * to fulfill the additional requirement of unexporting the object.
176 *
177 * @param id the object's activation identifier
178 * @return true if the object was successfully deactivated; otherwise
179 * returns false.
180 * @exception UnknownObjectException if object is unknown (may already
181 * be inactive)
182 * @exception RemoteException if call informing monitor fails
183 * @exception ActivationException if group is inactive
184 * @since 1.2
185 */
186 public boolean inactiveObject(ActivationID id)
187 throws ActivationException, UnknownObjectException, RemoteException
188 {
189 getMonitor().inactiveObject(id);
190 return true;
191 }
192
193 /**
194 * The group's <code>activeObject</code> method is called when an
195 * object is exported (either by <code>Activatable</code> object
|