import java.io.Serializable;
public class MyObject implements Serializable {
private static final long serialVersionUID = 1L;
private String data;
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
}
import java.rmi.activation.ActivationGroup;
import java.rmi.activation.ActivationGroupDesc;
import java.rmi.activation.ActivationException;
import java.rmi.activation.ActivationID;
import java.rmi.activation.Activatable;
import java.rmi.activation.UnknownGroupException;
import java.rmi.activation.UnknownObjectException;
import java.rmi.MarshalledObject;
import java.io.IOException;
import java.rmi.RemoteException;
public class Main {
public static void main(String[] args) throws ActivationException, IOException, UnknownGroupException, UnknownObjectException {
ActivationGroupDesc groupDesc = new ActivationGroupDesc(null, null);
ActivationGroupID groupID = ActivationGroup.getSystem().registerGroup(groupDesc);
MyObject obj = new MyObject();
obj.setData("Hello, World!");
ActivationID objID = ActivationGroup.getSystem().registerObject(obj);
MarshalledObject<MyObject> marshalledObj = new MarshalledObject<>(obj);
MyObject remoteObj = Activatable.activate(objID);
System.out.println(remoteObj.getData());
}
}