Processamento paralelo numa aplicação Web

Senti a necessidade de chamar uns processamentos a cada X segundos na minha aplicação web. Então tive a idéia de criar uma servlet cujo metodo init() é chamado ao iniciar a aplicação, que chame uma thread com um loop infinito e dentro desse loop eu chame o processamento e depois mando a thread dormir por um tempo.

Isso é viavel? existe uma maneira mais bonita de se fazer isso?

ficaria mais ou menos assim

class meuServlet {
   init () {
       new MinhaThread.start();
   }
}

class MinhaThread {
    run() {
        while (true) {
             processamento();
             Thread.sleep(1000*60); //1 minuto
        }
    }
}

Um dos mandamentos das aplicações JEE diz:
“Nunca criarás Thread manualmente”.

Bom, para escalonamento de tarefas você pode usar o framework quartz.
Veja Aqui