Exemplo de servidor ativável
// CountImpl.java, Implementacao de Count "ativavel"
import java.rmi.*;
import java.rmi.activation.*;
public class CountImpl extends Activatable
implements Count {
private int sum;
// Construtor publico
public CountImpl(String name, String src, int port)
throws RemoteException, ActivationException, java.io.IOException {
super(src, new MarshalledObject(name), false, port);
System.out.println("Construtor explicito invocado");
}
// Contrutor interno
protected CountImpl(ActivationID id, MarshalledObject arg)
throws RemoteException {
super(id, 0);
System.out.println("Construtor de re-ativacao");
}
public void set(int val) throws RemoteException {
sum = val;
}
public void reset() throws RemoteException {
sum = 0;
}
public int get() throws RemoteException {
return sum;
}
public int increment() throws RemoteException {
return sum++;
}
}