RMI - Ativar e desativar o objeto remoto

Olá!

Estou desenvolvendo um exemplo acadêmico sobre RMI baseado em um exemplo clássico do assunto (lâmpada no estado acesa ou apagada). A comunicação está acontecendo perfeitamente, mas o erro está quanto tento cortar o serviço.
No meu servidor eu tenho uma janela com um JTextField (onde é digitado o número da porta) e dois JButton’s um para ativar e outro para desativar o serviço. Cada um dos botões citadados chama os seguintes métodos respectivamente:

  public void ativar(){
    try {
            desativar();
	    registrador = Runtime.getRuntime().exec( "rmiregistry " + txtPorta.getText() );
	    luzCompartilhada = new RMILuzImpl();
            String registro = "rmi://localhost:" + txtPorta.getText() + "/RMILuz";
	    Naming.rebind( registro, luzCompartilhada );
	    lblStatus.setText("Ativado... \nPorta: " + txtPorta.getText() );
	    lblStatus.setForeground( Color.GREEN );
    } catch (Exception e) {
      JOptionPane.showMessageDialog( this, "Erro na Ativação", "O Serviço não pode ser inicializado!", JOptionPane.ERROR);
    }
  }

  public void desativar() {
    try {  
      Naming.unbind("rmi://localhost:" + txtPorta.getText() + "/RMILuz");
    } catch (Exception e) {
      e.printStackTrace();
    }  
    if (registrador != null) registrador.destroy();
    lblStatus.setText("Desativado...");
    lblStatus.setForeground(Color.RED);
  }

Vou enumerar os testes que fiz para tentar isolar e demonstrar o erro:
1 - Se desativar o servidor e tentar conectar um cliente ele não conecta (correto);
2 - Se ativar o servidor e tentar conectar um cliente ele conecta (correto);
3 - Se tentar desativar o servidor com algum cliente conectado o método desativar é executado sem problemas, mas os clientes continuam invocando os métodos remotos como se o serviço ainda estivesse ativo e só param de funcionar se eu fechar o programa servidor por completo(errado).

Eu não quero ter que fechar o programa servidor para que os cliente percam a referência para o objeto remoto.
Como posso fazer isso apenas chamando o método desativar?

Tenta mudar o keep Alive no sistema operacional, pra ver se ele percebe mais
rapidamente quando cai a conexao do servidor :

No Windows NT
no registro, coloque o KeepAliveTime com o valor
\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
DWORD "KeepAliveTime"

No Linux ou no Unix procure
o default é 7200
no exemplo abaixo foi mudado para 10

echo "10" &gt /proc/sys/net/ipv4/tcp_keepalive_time