import java.rmi.activation.*;
public class MyObject implements ActivationInstantiator {
public Remote newInstance(ActivationID id, ActivationDesc desc) throws ActivationException, RemoteException {
MyRemoteObject obj = new MyRemoteObject();
return obj;
}
public ActivationGroupID activeGroup() throws ActivationException, RemoteException {
ActivationGroupDesc groupDesc = new ActivationGroupDesc(null, null);
ActivationGroupID groupID = ActivationGroup.getSystem().registerGroup(groupDesc);
return groupID;
}
public void registerGroup(ActivationGroupID groupID) throws ActivationException, RemoteException {
ActivationGroup.getSystem().activeGroup(groupID);
}
public static void main(String[] args) throws Exception {
String location = "file:/path/to/MyObject.jar";
ActivationGroupID groupID = MyObject.activeGroup();
ActivationDesc desc = new ActivationDesc(groupID, "MyObject", location, null);
ActivationID id = Activatable.register(desc);
MyObject.registerGroup(groupID);
System.out.println("Object registered with id: " + id);
}
}