Aguarda certo tempo na execução?

6 respostas
J

Olá galera,
queria fazer o seguinte, colocar o java pra aguardar um certo tempo na requisição, seria da seguinte forma:
quando chegar nessa parte do codigo:

Eu quero que ele espere no maximo 10 segundos para obter essa resposta, se nao ele sai fora da função …

Como faz isso ?

6 Respostas

rodrigo.bossini

Dá uma olhada nisso, acho que ajuda:

http://www.cs.hut.fi/Docs/Eckel/TIJ3ed/code/c14/Timeout.java

rpb.cold

acho q uma solução é usar uma Thread para fazer esse delay que deseja, como o rod.attack postou um exemplo …

já precisei fazer isso em um applet e funcionou super bem veja:

int delay = 500; try { Thread.sleep( delay ); System.out.println("exibe placar do jogo" + getPlacar()); }catch (InterruptedException ie) { ie.printStackTrace(); }
att,

Renan

JavaES
try {
    Thread.sleep( 10000 );
}catch (InterruptedException e) {
    e.printStackTrace();
}
J

Galera, neh isso nao, por que é o seguinte, quando o servidor ta fora do ar ele para naquela linha e fica ate da erro, eu tentei tratar com o try,catch, mais nao da certo pois acontece que ele executa o codigo assim mesmo …

JavaES

Olha, creio eu que após entrar naquela linha ele só sairá quando tiver uma resposta mesmo, ou seja, um erro.

Você poderia fazer algo assim: Faz um timer que será executado de 10 em 10 segundos. Dentro do timer vc chama esse métodos. Dentro do timer também coloca um verificador que vai ver se deu erro no seu método ou lgo assim, ou seja, coloca qlq coisa q te diga se deu problema, aí se tiver dado problema vc encerra o timer e fecha o aplicativo ou sei lá, faz qlq outracoisa…

boolean NAO_PASSOU = false;

	TimerTask task = new TimerTask() {
            public void run() {
                if( NAO_PASSOU ){
                    cancel();
                    exitiMidlet();
                }else{
                    status = con.getResponseCode();
                }
            }
	};
	
	Timer timer = new Timer();
	timer.schedule( task, 0, 10000 );
J

JavaES, so que é o seguinte, na tela eu mostro os dados de um RMS, ai ele da erro e apaga esses dados do RMS… eu nao sei por que ele ta fazendo isso … =/

Criado 1 de dezembro de 2008
Ultima resposta 1 de dez. de 2008
Respostas 6
Participantes 4