Unexports the remote object that was exported by this
Exporter such that it will no longer receive remote method invocations that were made possible as a result of exporting it with this
Exporter. The unexport operation may not occur if the
force argument is
false. This method must only be invoked after the
export method has been invoked on this
Exporter instance to export a remote object successfully.
This method returns true if upon return, the remote object is no longer exported with this Exporter, and false if the remote object remains exported with this Exporter. This method will always return true if it has returned true previously.
The force parameter serves to indicate whether or not the caller desires the unexport to occur even if there are known remote calls pending or in progress to the remote object that were made possible by this Exporter:
- If
force is true, then the remote object will be forcibly unexported even if there are remote calls pending or in progress, and this method will return true. - If
force is false, then this acts as a hint to the implementation that the remote object should not be unexported if there are known remote calls pending or in progress, and this method will either unexport the remote object and return true or not unexport the remote object and return false. If the implementation detects that there are indeed remote calls pending or in progress, then it should return false; otherwise, it must return true. If the implementation does not support being able to unexport conditionally based on knowledge of remote calls pending or in progress, then it must implement this method as if force were always true.
If the remote object is unexported as a result of this method, then the implementation may (and should, if possible) prevent remote calls in progress from being able to communicate their results successfully.
@param force if true, the remote object will beunexported even if there are remote calls pending or in progress; if false, the remote object may only be unexported if there are no known remote calls pending or in progress
@return true if the remote object is unexported whenthis method returns and false otherwise
@throws IllegalStateException if an object has not been exportedwith this Exporter instance