Criando um cronometro para realizar tarefas

Alguém conhece algum método que funcione como um cronometro, onde é definido um tempo e se após o termino deste, uma tarefa é realizada. Algo análogo a uma porta se fechando lentamente e quando fechada, ninguém entra ou sai… Já dei uma olhada no sleep da classe Thread e não é bem aquilo que eu preciso. O TimerTask se aproxima muito mas não consigo deixar-lo com essa característica de temporizador

Qual seria a necessidade?

Ve se te ajuda…

@Singleton
public class ScheduleService implements Serializable {

 
    @Schedule(hour = "*", minute = "10", dayOfMonth = "*", month = "*", year = "*", info = "MyTimer")
    private void scheduledTimeout(final Timer t) {
        seuMetodo();
    }
}

Olá @darlan_machado, bem, pense que eu tenho uma aplicação que fica esperando receber alguma coisa, e que para não ficar ociosa, ela se utiliza de um temporizador. Dessa forma, é satado um tempo em segundos e caso nenhuma resposta chegue nesse espaço de tempo, ela assume que não existe uma resposta. Ficou claro o raciocínio ?

Olá @ardenghe, não é bem o que estou procurando… Mas achei interessante seu método, vou tentar mudar ele um pouco.

Então, ou você segue a dica do @ardenghe ou você considera implementar isso com messageria (filas), criando um consumer que será ativado toda vez que houver alguma mensagem.