Pausar uma classe Service por um tempo X

2 respostas
H

Boa tarde, me surgiu um problema que confesso que esta me dando dor de cabeça.
Tem uma classe que é responsavel por estar disparando emails. Implementei para que ao enviar uma quantidade X de emails, o método Thread.sleep congele por um tempo de 2 horas, para assim terminar de enviar os demais emails.

public void congelamentoThread() throws InterruptedException {

try {

Uteis.logar(null, Congelamento iniciado…”);

Thread.sleep(7000000);

} catch (InterruptedException e) {

Uteis.logar(null, Erro thread sleed interrupting + e.getMessage());

}

}

Porem a Thread sempre é interrompida quando executado classe service.
No log, o erro Erro thread sleed interruptingsleep interrupted|#] sempre persiste.

Resumindo, preciso que pause uma classe main por um determinado tempo.
Desde já agradeço a ajuda .

2 Respostas

darlan_machado

Essa outra classe, muito provavelmente, também terá que ser uma thread (eu sei, na prática ela é, mas, você precisa forçar ela a dormir e não a que dispara emails).

R

Não sei se entendi direito,

Você precisa que uma classe durma enquanto a outra trabalha?

Se for isso, estude a respeito do conceito de semáforos, é um pouco complexo a primeira vista, mas atende ao que eu entendi

Criado 22 de janeiro de 2018
Ultima resposta 22 de jan. de 2018
Respostas 2
Participantes 3