Abortar servico RMI

4 respostas
joaobosco

dae pessoal!
Tenho um problema e talvez alguem aqui possa me ajudar. Eh o seguinte:
Eu tenho uma aplicacao que usa RMI. O(s) cliente(s) fazem o acesso à um servidor RMI, que possui a logica de negocio, faz acesso à banco e etc.
Existem alguns servicos RMI que sao muito demorados e eu quero colocar no cliente um botao para abortar eles.
A minha solucao foi pôr um variavel boolean no servidor e qdo o cliente clica no botao de abortar, o sistema muda o valor desta variavel. O servidor esta sempre checando o valor desta variavel e qdo ela muda, ele para de executar o servico (aborta).
O problema eh q se eu tenho varios clientes rodando este mesmo servico, todos os servicos dos clientes seriam abortados!

Alguem pode me ajudar???

valeu!

a classe do servidor eh mais ou menos assim:

Class ServicoImpl implements Servico {

  boolean abortar=false;

  public List getLista() {
    while(!fim) {
      facaIsto();

      facaAquilo();

      if(abortar) {
        return null;
        abortar = true;
      }

    }
  }

}

4 Respostas

joaobosco

ooopps... soh corrigindo o codigo....

Class ServicoImpl implements Servico { 

  boolean abortar=false; 

  public List getLista() { 
    while(!fim) { 
      facaIsto(); 

      facaAquilo(); 

      if(abortar) { 
        return null; 
        [b]abortar = false; [/b]
      } 

    } 
  } 

}
danieldestro

Como vc controla cada usuário conectado ao servidor?
Seria bom ter um objeto (ou thread) diferente para cada conexão.

joaobosco

“danieldestro”:
Como vc controla cada usuário conectado ao servidor?
Seria bom ter um objeto (ou thread) diferente para cada conexão.

nao controlo… :oops:

o sistema nao tem controle de sessao. Mas se eu criar uma thread para cada vez q alguem solicitar o servico nao haveria problema certo?

danieldestro

Creio que seja o melhor… assim vc não executa TODOMUNDOJUNTONAMESMATHREAD… sacou o problema? hehehehe

ai vc identifica quem “mandou” matar o processo e vc cancela a thread em execução.

Eu ESTAVA desenvolvendo um jogo com RMI e tal… mas parei de fazer antes de implementar isso… mas havia pensado em algo ± assim.

abraços e bom feriado!

Criado 9 de junho de 2004
Ultima resposta 9 de jun. de 2004
Respostas 4
Participantes 2